Rendered at 13:11:13 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
joshuakelleyds 31 minutes ago [-]
I would add quick note to this as title is misleading
* 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.
When people talk about a language being open source they primarily mean the compiler. A closed compiler surrounded by a collection of open source things is an anti-pattern and trap to be avoided if you're interested in open tools, that's why open sourcing the Mojo compiler was so important to many people.
> 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.
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.
eigenspace 2 hours ago [-]
Julia is extremely lispy in its semantics and design, it's mostly separated by syntax.
pjmlp 42 minutes ago [-]
Julia is a Lisp, just like Dylan or Lisp 2.
Many Lisps have that capability.
eigenspace 28 minutes ago [-]
IMO saying julia is literally a lisp is just not worth the type of discussion it generates. I'd much prefer to say the important part: Julia learned a ton of very important lessons from the lisp family of languages, and has integrated a lot of them.
pjmlp 17 minutes ago [-]
Agreed.
thimotedupuch 1 hours ago [-]
Indeed Reactant looks like a young, fantastic piece of technology.
aeonflux 4 hours ago [-]
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...
mihaelm 4 hours ago [-]
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.
> 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.
aeonflux 2 hours ago [-]
> 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?
This is by Chris Lattner, known for LLVM and Swift.
pjmlp 40 minutes ago [-]
Also Swift for Tensorflow, lets not ignore that effort as well.
tecleandor 4 hours ago [-]
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.
fluidcruft 3 hours ago [-]
Open sourcing was on Mojo's roadmap long before Qualcomm was in the picture.
tonyhart7 2 hours ago [-]
close source language is a dumb concept anyway
knlb 4 hours ago [-]
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 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
ModernMech 22 minutes ago [-]
I'd bet 99% of people who will ever hear about or write in Mojo haven't heard about it for the first time yet.
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.
jeltz 55 minutes ago [-]
I am much more interested in it now that it is not a subset of Python. That felt like something which would hold it back and seems like they agreed.
fluidcruft 3 hours ago [-]
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.
cyansands 22 minutes ago [-]
Mojo (owned by Qualcomm ®) is now open source™ try it! Just remember we own it
Heidaradar 4 hours ago [-]
They made a big mistake by not open sourcing before, doubt they'll ever gain traction now.
ModernMech 1 hours ago [-]
Their goal was to get bought. Now it doesn’t matter whether they get traction, they already made a billion dollars.
brightball 2 hours ago [-]
If anybody wants to give a talk on this at the 2027 Carolina Code Conference, our call for speakers will be open from January to March. Love featuring languages like this.
xmorse 1 hours ago [-]
Finally! I have been waiting for this for years. Mojo has great potential. I would use it for everything if it was for me
wewewedxfgdf 3 hours ago [-]
Qualcomm is a notoriously closed source company.
Don't reward them with your support just because they are forced to open source something.
mbanzi 2 hours ago [-]
Qualcomm is changing a lot. They are learning and adopting open source. I’ve seen this in other Silicon vendors, they used to deal only with big corps and would talk to you only if you promised to buy millions of parts. Now they are all moving to a model where they want an open ecosystem , attract developers, promote open source. It’s changing , it’s not going to be perfect, there will be false steps but the direction is good and we all benefit from this change.
As someone else said they are way ahead of NVIDIA in open source adoption so you should keep an eye on Qualcomm
cromka 3 hours ago [-]
Notoriously is a stretch if almost all of Linux ARM commits these days come from them
rvz 3 hours ago [-]
They are no better than Nvidia.
I do not see your point.
mbanzi 2 hours ago [-]
NVIDIA is way worse and QCOM are improving
rvz 26 minutes ago [-]
I agree. Saying "Qualcomm is a notoriously closed source company." isn't really a point in the semiconductor space. They all are.
At least with Mojo that is open sourced and Nvidia's nvcc is still closed.
NuclearPM 2 hours ago [-]
Did you mean “worse”?
zldar 47 minutes ago [-]
I guess they want to go after CUDA for their GPU lines. Now give us the hardware.
woadwarrior01 3 hours ago [-]
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.
flik 4 hours ago [-]
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.
I'm waiting for Phase 2[1]: especially "Algebraic data types & pattern matching". Current tagged union[2] use is pretty awkward/verbose and lacks exhaustiveness checking and typed error handling.
* 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-...
> 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.
This I don't buy so much, as there seem to be a lot of core design decisions still up in the air: https://mojolang.org/docs/roadmap/
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.
Many Lisps have that capability.
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.
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?
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.
https://youtu.be/eFbtGDGbdFU?si=VJ0XSiuNO9Z36DtD&t=30
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.
Don't reward them with your support just because they are forced to open source something.
I do not see your point.
At least with Mojo that is open sourced and Nvidia's nvcc is still closed.
Strategically speaking, I think this only makes sense as an anti-NVIDIA play.
[1] https://mojolang.org/docs/roadmap/#phase-2
[2] https://mojolang.org/docs/std/utils/variant/Variant/