Alex Gunnarson
Alex Gunnarson
MModular
Created by Alex Gunnarson on 2/13/2024 in #questions
Lisp (or other languages) on top of Mojo?
I (and many others) derive considerable benefit from using a Lisp-based language: homoiconicity, macro capability, regularity of syntax, terseness, developer convenience (e.g. Paredit, Parinfer), and so on. Plus, even beyond issues of practicality — as anyone knows who's "gotten" Lisp — there's something subjectively beautiful and timeless about it (https://xkcd.com/224/). I'd like to suggest that Mojo have some facility for other programming languages to take advantage of the compiler work being done under the hood. JS has source maps for transpiled languages like TypeScript, ClojureScript, etc. The JVM processes bytecode emitted by hosted languages and treats such languages as first-class citizens. Having some sort of transpilation story (or possibly better, a hook-in to the Mojo MLIR representation?) could be a powerful advantage for Mojo as it draws in indirectly users like me who are disconnected from the Python ecosystem, but who still want to take advantage of Mojo's performance and reach to heterogeneous architectures. This, of course, is all assuming that Mojo is defining some custom MLIR passes that give it some sort of technical advantage over a language that used MLIR directly. Otherwise there's not much to do here 🙂
9 replies
MModular
Created by Alex Gunnarson on 2/9/2024 in #questions
Lisp/Julia style macros/codegen
Curious if Mojo will feature this. Many benefits, but among other things it would enable language users to add syntactic and code generation features without having to wait for the core language to be updated.
16 replies
MModular
Created by Alex Gunnarson on 2/9/2024 in #questions
Mojo + GC
Does Mojo support (optional) GC? If so, does it implement a modern GC like the JVM (e.g. ZGC)? If not, does it just do reference counting? GC is important, of course, for workloads with large numbers of short-lived objects, e.g. as is the case for persistent data structures. Wondering how general-purpose Mojo is intended to be.
5 replies
MModular
Created by Alex Gunnarson on 2/9/2024 in #questions
Concurrency model
Curious how Mojo is getting around the assumed presence of a GIL. What's the concurrency story?
6 replies
MModular
Created by Alex Gunnarson on 2/9/2024 in #questions
Virtual thread support? ("write async like sync")
Wondering whether Mojo will support writing async code like writing synchronous code, like Java's virtual threads. Hoping to avoid the "function coloring" problem introduced by async/await. See also https://www.infoworld.com/article/3678148/intro-to-virtual-threads-a-new-approach-to-java-concurrency.html.
6 replies