Mojo 1.1 Programming Language Opens Its Compiler to External Contributions

Mojo 1.1 now accepts external compiler contributions, while Modular has also moved internal compiler issues to public GitHub trackers.

Mojo 1.1 has been released, and the biggest change is not a new language feature but a step in the project’s development: Modular now accepts external contributions to the Mojo compiler.

The move comes about a month after Modular open-sourced the Mojo compiler under the Apache 2.0 license with LLVM exceptions. At that time, developers could inspect, build, and modify the compiler source code, but Modular had not established a process for accepting outside contributions.

That restriction is lifted with Mojo 1.1. According to Modular, external developers can now contribute directly to the compiler. The company has also migrated its internal compiler issues to public GitHub issues, making ongoing work easier to follow and discuss.

Mojo 1.1 also brings several compiler and developer experience improvements. Compilation of implicit conversions and t-string literals is faster, while the language server can suggest some common off-by-one mistakes.

The release also introduces contextual type inference in more places. For example, when the compiler knows the expected type, developers can shorten declarations like DType.float32 to .float32.

Finally, Modular has reorganized the open-source Mojo codebase around a unified top-level Mojo directory containing both the compiler and the standard library. It also added new documentation for developers who want to work with Mojo from source.

For additional details, see the official announcement.

Image credits: Modular

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *