Summarized here: https://www.phoronix.com/news/Modular-Mojo-Open-Source
This is by Chris Lattner, known for LLVM and Swift.
I had been holding off on testing out mojo till it was open sourced, and started picking it up this week.
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.
This is how I imagined you seeing Qualcomm :D
I'm glad that it's open source now and they are supporting a lot more hardware. There are some interesting features that I hope the language design community pays attention to.
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.
Julia is extremely lispy in its semantics and design, it's mostly separated by syntax.
This is nice, but the long time it took them to open source I think burnt a lot of the initial traction. I do like the idea & I'll see whether I can make use of it
Really happy to see this. Kudos to Qualcomm for releasing it under a liberal Apache 2.0 license.
Strategically speaking, I think this only makes sense as an anti-NVIDIA play.
[dupe] Discussion on blog post: https://news.ycombinator.com/item?id=49348079
They made a big mistake by not open sourcing before, doubt they'll ever gain traction now.
The actual blog post on open-sourcing: https://www.modular.com/blog/mojo-open-source
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.
I'm pretty excited about mojo and look forward to it continuing into the phase of supporting systems programming. I have been using rust a lot lately for things I had used python for (that were not computation). I really like rust for static typing and functional programming patterns... but not for numerics. Hopefully mojo can become a serious staticly typed alternative to python.
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.
Maybe I'm a party pooper, but given Qualcomm history, open sourcing just after acquisition feels like they don't care about it and they're going to let it die while they cut Modular in pieces and extract all the juice possible of their cloud offering.
Open sourcing was on Mojo's roadmap long before Qualcomm was in the picture.
close source language is a dumb concept anyway
Exciting. For hobby projects, I was looking into what should be my programming language. Open source was a criteria. Now I have choice between Rust and Mojo.
What sort of projects are you looking at doing?
Qualcomm is a notoriously closed source company.
Don't reward them with your support just because they are forced to open source something.
Notoriously is a stretch if almost all of Linux ARM commits these days come from them
They are no better than Nvidia.
I do not see your point.
Did you mean “worse”?
Does this project have any meaningful traction? Seemed like a cool idea, but I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
I think the compiler not being open-source hurt with getting people to check it out. Today, people are accustomed to most of it regarding PL development being out in the open, and Mojo was an outlier here.
You can read a lot more about it here: https://mojolang.org/docs/vision/
[flagged]
> But I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem. Ocaml is barely mentioned in the news and rarely HNers here use that language, but it is Jane Street that maintains and uses it.
Judging by hype isn't a great way of evaluating a language. I am not going to check the entire Nvidia stack, from CUDA, to CUTLASS to cuDNN and even on PyTorch's side just to solve a runtime error that could have originated from either place when Mojo solves all of that.
> At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem.
No need for snarky comments. These days tools/frameworks/languages/libraries/etc are popping all the time. Do you expect people to research every simple signal they catch in the wild?