Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
chrislattner
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
1.
▲
by
chrislattner
2mo ago
This is fixed in Mojo btw, using the latest nightly: ``` $ cat test.mojo from std.utils import Variant def main(): var x : Variant[Int, Pointer[Int, ImmStaticOrigin]] # set it to int x = 12345 # get a reference to the int
2.
▲
by
chrislattner
4mo ago
Indeed, this fall 100%
3.
▲
by
chrislattner
6mo ago
If you want the fastest open source implementation on Blackwell and AMD MI355, check out Modular's MAX nightly. You can pip install it super fast, check it out here: https://www.modular.com/blog/day-zero-launch-fa
4.
▲
by
chrislattner
1y ago
Thank you for the kind words! Are you saying that AI model innovation stopped at GPT-2 and everyone has performance and gpu utilization figured out? Are you talking about NVIDIA Hopper or any of the rest of the accelerators people care abou
5.
▲
by
chrislattner
1y ago
Modular/Mojo is faster than NVIDIA's libraries on their own chips, and open source instead of binary blob. See the 4 part series that culimates in https://www.modular.com/blog/matrix-multiplication-on-blackw.
6.
▲
by
chrislattner
1y ago
The Mojo discord and forums are all listed here: https://www.modular.com/community
7.
▲
by
chrislattner
1y ago
Mojo doesn't have C++-like exceptions, but does support throwing. The codegen approach is basically like go's (where you return a bool + error conceptually) but with the python style syntax to make it way more ergonomic than Go.
8.
▲
by
chrislattner
1y ago
Sure, I wasn't trying to start a fight either, I was just sharing my experience and opinion on having worked on both. Mojo (and C++) have closures, for example c++ does lambda type inference without a constraint solver. In my opinion,
9.
▲
by
chrislattner
1y ago
Thanks, we'll update that. We shifted to putting Mojo into Compiler Explorer rather than having our own similar-but-different thing.
10.
▲
by
chrislattner
1y ago
Mojo has overloading, generics and a much more advanced type system than Swift (dependent and linear types etc), and compile time in all phases is very important. The Mojo design seems to be working well - it gives expressive power, good e
11.
▲
by
chrislattner
1y ago
Bidirectional constraint solving. It's bad for compile time but even worse for predictable diagnostics. Mojo does contextual resolution, but it works more similar to how C++ resolves initializer lists etc.
12.
▲
by
chrislattner
1y ago
Mojo learns a lot from the mistakes in Swift, including this one. Mojo compiles much faster and doesn't have exponential time type checking! :)
13.
▲
by
chrislattner
1y ago
Exceptions in Mojo are just syntax sugar for Result types. You don't have to use them if you don't want, and the overhead is not like C++ exceptions.
14.
▲
by
chrislattner
1y ago
Thank you, that's not entirely wrongbut not the full picture. Our initial explanation had two problems actually, 1) we were "ambitiously optimistic" (different way of saying "ego-driven naïveté" perhaps :) ) and 2
15.
▲
by
chrislattner
1y ago
Thank you for all the great interest in the podcast and in Mojo. If you're interested in learning more, Mojo has a FAQ that covers many topics (including "why not make Julia better" :-) here: https://docs.modular.
16.
▲
by
chrislattner
1y ago
Super impressive app and experience, it is incredible that you can get Swift to do this with such interactivity! Rebuilding Swift to be interpreted is a bold move, -Chris
17.
▲
by
chrislattner
2y ago
For more details on what MAX includes, please check out the MAX changelog: https://docs.modular.com/max/changelog/ -Chris
18.
▲
by
chrislattner
2y ago
Great post @fnands!
19.
▲
by
chrislattner
2y ago
Please reach out to us to talk through it, I'm sure there's a way to work it out.
20.
▲
by
chrislattner
2y ago
If 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:/
21.
▲
by
chrislattner
2y ago
We totally want to see Mojo go into all these places! It's just that Modular can't fund use of Mojo in (eg) gamedev or embedded development (at least not in the foreseeable future). Open sourcing the implementation is a big part
22.
▲
by
chrislattner
2y ago
You're right that Mojo is a completely general purpose programming language. Community members are already building gui libraries and serving stuff etc. It might not be the best thing, but here's the rationale for why we do this:
23.
▲
by
chrislattner
2y ago
Awesome, we'll be releasing a bunch more, but this is a pretty exciting starting point. The standard library has a lot of the lowest level details, and shapes most of the language - because so much of Mojo is library defined. -Chris
24.
▲
by
chrislattner
3y ago
As far as I know, the Mojo implementation is doing the same algorithm as the baseline rust implementation. The person commenting on that is complaining about the rust impl as well.
25.
▲
by
chrislattner
3y ago
LLVM has an autovectorizer which is quite good, but such tech is limited because (eg) it can't change memory layout. Speaking as someone who has spent more than 20 years writing compilers (e.g. LLVM, MLIR, etc), my opinion is that auto
26.
▲
by
chrislattner
3y ago
Modular is enabling all of the above for different audiences. MAX provides an operator-graph level abstraction like PyTorch or JAX have, and we expect a bunch of high level libraries like nn.module to get built out over time by the communi
27.
▲
by
chrislattner
3y ago
I think you're being paranoid here :-). I encourage you to download mojo and try it out. This code is all OSS, so go nuts validating it yourself. If you'd like to know how mojo works there is a lot of information on the Modular
28.
▲
by
chrislattner
3y ago
No worries at all, it's such a polarizing discussion point and always comes up. :)
29.
▲
by
chrislattner
3y ago
Hey, thanks for your interest. I think it's interesting that you think I don't care about things like whitespace vs braces? In the Lex interview I was kidding around, but I assure you, I do care. Braces are strictly worse than wh
30.
▲
by
chrislattner
3y ago
I was responsible for the S4TF effort at Google. In my opinion, it validated that some of the ideas are good (e.g. Graph Program Extraction is the algorithm that torch dynamo uses internally), that an efficient compiled language has benefit
More ›