4 ms·
If you paid very close attention it was actually clear from the start that the idea was to build a next gen systems language, taking the lessons from Swift and
by Certhas 5mo ago
If you paid very close attention it was actually clear from the start that the idea was to build a next gen systems language, taking the lessons from Swift and Rust, targeting CPU/GPU/Heterogeneous targets, and building around MLIR. But then also building it with an eye towards eventually embedding/extending Python relatively easily. The Python framing almost certainly helped raise money.
Chris Lattner talked more about the relationship between MLIR and Mojo than Python and Mojo.
- pjmlp 5mo agoSo basically Chapel, which is actually being used in HPC.
- Certhas 5mo agoI don't know Chapel in detail, I was more thinking Hylo. I don't think Chapel has a clear value/reference semantics or ownership/lifetime story? Am I wrong here? The Mojo docs include two sections dedicated to these topics: https://mojolang.org/docs/manual/values/ https://mojolang.org/docs/manual/values/ https://mojolang.org/docs/manual/lifecycle/ https://mojolang.org/docs/manual/lifecycle/ The metaprogramming story seems to take inspiration from Zig, but the way comptime, parameters and ownership blend in Mojo seems relatively novel to me (as a spectator/layman): https://mojolang.org/docs/manual/metaprogramming/ https://mojolang.org/docs/manual/metaprogramming/ I was sort of paying attention to all these ideas and concepts two-three years ago from the sidelines (partially with the idea to learn how Julia could potentially evolve) but it's far from my area of expertise, I might well be getting stuff wrong.
- pjmlp 5mo agoYou make use of 'owned', 'shared', 'unmanaged', 'borrowed'. https://chapel-lang.org/docs/language/spec/classes.html#class-lifetime-and-borrows https://chapel-lang.org/docs/language/spec/classes.html#clas...
- Certhas 5mo agoI see, seems like the design is not complete and a work in progress (which is the same for Mojos Origins concept I think): "The details of lifetime checking are not yet finalized or specified. Additional syntax to specify the lifetimes of function returns will probably be needed." I think Rust proved that lifetimes, ownership and borrow checking can be useful for a mainstream language. The discussions in the Mojo context revolve on how to improve the ergonomics of these versus Rust.
- pjmlp 5mo agoContrary to Mojo, plenty of people are using it in HPC, and is open source. https://hpsf.io/blog/2026/hpsf-project-communities-to-gather-at-hpsfcon-in-chicago/ https://hpsf.io/blog/2026/hpsf-project-communities-to-gather... https://developer.hpe.com/platform/chapel/home https://developer.hpe.com/platform/chapel/home See "Projects Powered by Chapel".
- Certhas 5mo agoSo? What point are you making? A different language with different design philosophy, has success in a different niche than Mojo is targeting?
- pjmlp 5mo agoOne is used in production already by key laboratories in HPC research, the other wants to be and is far away from being 1.0. Chapel current version is 2.8.0.
- melodyogonna 5mo agoMojo isn't that far away from 1.0. Some point this year is the target
- MohamedMabrouk 5mo agoI don't understand this framing, so? Cpp, Julia are more widely adopted, used in HPC. it does not mean that people shouldn't start, learn new languages.
- zzzoom 5mo agoIs it? Spack has only one package that depends on chapel.