Chris Lattner
MModular
•Created by Carbon on 10/5/2024 in #questions
Mojo vs Rust memory safety
It's a value system that punishes pragmatism, and prevents Rust from expressions (Eg) its array type in its own language, which seem fairly problematic if you care about generality. I prefer the approach of "you can provide safe abstractions over unsafe concepts through library design" personally.
16 replies
MModular
•Created by Carbon on 10/5/2024 in #questions
Mojo vs Rust memory safety
Mojo is pragmatic - it needs to talk to Python obviously, but also to C and C++ and other languages. Rust does a weird thing where they're like "we're safe, unless you use unsafe or call into other things" which is a very interesting "value system"
16 replies
MModular
•Created by Carbon on 10/5/2024 in #questions
Mojo vs Rust memory safety
Yeah, I agree, I don't see any reason that Rust is inherently "more safe" than Mojo when Mojo is finished. We're just missing a couple features.
16 replies
MModular
•Created by jmky on 10/7/2024 in #questions
Is there a disdain for Rust from the Mojo team?
To give you an different example, we don't use
foo<x>
for generics like C++ does, we use foo[x]
. This isn't out of "disdain", it is because the languages are different in their core syntax.23 replies
MModular
•Created by jmky on 10/7/2024 in #questions
Is there a disdain for Rust from the Mojo team?
Hey @jmky thanks for the feedback. To +1 other's comments, Mojo isn't Rust and its references work differently.
23 replies
MModular
•Created by Ferdinand Schenck on 10/5/2024 in #community-showcase
Faster CRC32 calculations in Mojo
This is wonderful! great work
2 replies
MModular
•Created by Helehex on 8/5/2024 in #community-showcase
Thermo
This is pretty amazing!
60 replies
MModular
•Created by TilliFe on 7/18/2024 in #community-showcase
Endia
amazing, great work TilliFe!
57 replies
MModular
•Created by TilliFe on 7/18/2024 in #community-showcase
Endia
Nice, that will make things a lot easier. 24.4 is pretty old by now 🙂 🙂
57 replies
MModular
•Created by TilliFe on 7/18/2024 in #community-showcase
Endia
well you're doing great work! FYI, one of the things we're working on is to make it so the max graph api propagates shapes implicitly as part of graph building, even when they are parametric. This will get rid of the unknown dimensions, and elimiante the need for "shape op" operators etc. I think this can also allow a pretty nice UX because we can report shape errors at graph build time instead of at graph execution time.
57 replies
MModular
•Created by TilliFe on 7/18/2024 in #community-showcase
Endia
TilliFe, custom ops are 🔥. I'm loving your work here. What is your background working with JAX?
57 replies
MModular
•Created by TilliFe on 7/18/2024 in #community-showcase
Endia
This is amazing work @TilliFe !
57 replies
MModular
•Created by ivellapillil on 5/15/2024 in #community-showcase
Online book on Mojo
This is amazing work @ivellapillil , incredible!
35 replies
MModular
•Created by toasty on 3/7/2024 in #questions
Disambiguation of a call to an overloaded function when the argument satisfies multiple signatures?
It'd be great to give this approach a try - if the compiler doesn't consider it to be more-specific then please file a bug 🙂
8 replies
MModular
•Created by toasty on 3/7/2024 in #questions
Disambiguation of a call to an overloaded function when the argument satisfies multiple signatures?
Interesting use-case. One way to address it is to implement another overload that requires W to be both Writer AND StringWriter. This should be (but I'm not sure if the compiler does this yet) considered more-specific than either of the other conversions, so it should resolve the ambiguity
8 replies
MModular
•Created by vmois on 12/30/2023 in #questions
Owned convention does not destroy variable after transferring ownership
There are a few bugs in this area, and hte model got a bit simplified (e.g. take semantics is removed from the ^) operator. The next update will be a big one in this department
5 replies
MModular
•Created by NickJJ on 12/30/2023 in #questions
Adding __takeinit__ makes a difference in assignment
this does refine/clarify/narrow that
x^
does though!22 replies