3 ms·
When mojo was initially released I didn’t think much of it because: 1. It was announced prior to being available, even in closed source form. 2. Emoji filenames
by nickysielicki 3y ago
When mojo was initially released I didn’t think much of it because: 1. It was announced prior to being available, even in closed source form. 2. Emoji filenames meant to me that it wasn’t taking itself too seriously. 3. Many people have tried to make Python fast and failed, and that was my naive take on it, and despite the fact that LLVM allstars were working on it, it seemed like a lofty goal. 4. Closed source programming languages usually suck.
They presented at the LLVM conference in 2023 and this video totally changed my view: https://youtu.be/SEwTjZvy8vw?si=itaRiFCIwGnyOQcc https://youtu.be/SEwTjZvy8vw?si=itaRiFCIwGnyOQcc
There are some fascinating ideas here, I’m especially excited about what could come from their templated IR. Recommend others give it a watch if they’re confused on why they should pay attention to this project.
- chrislattner 3y agoIf you're interested in compiler nerdery, you should totally check out the source code, you'll see just how much we meant by "Syntactic sugar for MLIR" :-) A relatively accessible example is the `Int` type: https://github.com/modularml/mojo/blob/main/stdlib/src/builtin/int.mojo#L368 https://github.com/modularml/mojo/blob/main/stdlib/src/built... implemented in terms of the index dialect (that Modular upstreamed to MLIR): https://mlir.llvm.org/docs/Dialects/IndexOps/ https://mlir.llvm.org/docs/Dialects/IndexOps/ -Chris