It's built on top of MLIR so you can make compiler optimizations in a library instead of the compiler. I believe Reactant.jl has been using MLIR for optimizing higher level abstractions in Julia. Imagine a Lisp with that capability.
This is by Chris Lattner, known for LLVM and Swift.
So far I've been enjoying the language (pythonic, comptime, tile support) and plan to spend time using it to work with gpus to learn more, the puzzles are also pretty cool.
I remember being really interested a few years ago when it was billed as a superset of Python. I know they pivoted away from that, but I might play with it now that the compiler is also open source.
When mojo 1.0 was announced, I looked into porting my current rust project (a very opinionated type-driven DICOM library/anonymizer that has a spec implemented in haskell) and it wasn't ready for that sort of work yet vs continuing with rust. Which is fine! The numerics side looks great. I'm glad they have reached 1.0 and open sourced.
Strategically speaking, I think this only makes sense as an anti-NVIDIA play.
* It was partially open-sourced before this. There were a lot of cool things they open sourced before like MAX for large scale LLM serving which was outperforming VLLM, Dynamo, etc on a lot of models. (super valuable GPU kernels). This is why Qualcomm acquire them imo.
* Chris (also created swift) talked in the past the reason for not fully open-sourcing was more because he wanted to get all the core design decisions right. He said this was a big thing Swift got wrong as it scaled too quickly being fully open source at the beginning.
Mojo is an awesome language, I've used it a lot as a Swift/Python lover. A couple things though
* If you want to understand Mojo spend 10x the time in MLIR before. It's just a fancy MLIR wrapper (good thing)
* They still haven't lived up to the python "superset" promise and that's the big thing preventing bigger adoption.
* https://www.spheron.network/blog/modular-max-mojo-gpu-cloud-...