For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).
Contributing FAQ
A lot of questions about Mojo as a whole are answered in the FAQ on our website. This FAQ is specifically for Mojo contributors.
Contributing & developmentβ
1. What platforms does Mojo support?β
Mojo currently works natively on Linux and macOS, and on Windows via WSL. The standard library works with the compiler in all of these environments. For more details, see Mojo system requirements.
2. I hit a bug! What do I do?β
Donβt Panic! π Check out our bug submission guide to make sure you include all the essential information to avoid unnecessary delays in getting your issues resolved.
Standard library codeβ
1. What are the MLIR dialects?β
The standard library makes use of internal MLIR dialects such as pop, kgen,
and lit. Currently, these are not well-documented APIs. We provide no backward
compatibility guarantees and therefore they can change at any time. These
particular areas of the compiler and standard library are in active development
and their public-facing API has not yet stabilized.
2. What is the compiler runtime?β
Mojo depends on certain features that are still written in C++, collectively
called "the compiler runtime." This may manifest in the standard library code
through references like KGEN_CompilerRT_AsyncRT_GetOrCreateCPUDevice. Like the
MLIR dialects, the compiler runtime is currently not well documented. You can
find the compiler runtime code in the /AsyncRT directory.
We plan on reducing the C++ dependencies in the future.