Personal blog post on Mojo
I wrote a long note on Mojo entitled "Mojo: the point of view of a researcher using Python". A first version is available here: http://legi.grenoble-inp.fr/people/Pierre.Augier/mojo-the-point-of-view-of-a-researcher-using-python.html
I felt the need to write this note to better understand the project and because I didn't find serious analyses on Mojo that didn't come from Modular. Any comments would be appreciated.
I plan to use this text to communicate on Mojo on different mailing lists but I think it is reasonable to first get some feedback from people really knowing Mojo and Modular....
Meaning of "caching throughout the compilation flow"?
In Mojo documentation "integrated caching" is mentioned as a new compiler technology. For example, in Why Mojo, there is:
"This meant a programming language [...] caching throughout the compilation flow, and other features that are not supported by existing languages."
It's not clear to me what it means and I didn't find answers on the web. What does it mean? Is it "just" something like Ccache but integrated to Mojo compiler?...
Advice on Nbabel benchmark with Mojo?
I'm writing a long blog post on Mojo. I should be able to share it here quite soon but before I'd like to ask again about a question I wrote on Github: https://github.com/modularml/mojo/discussions/1275.
I was not able to get so good performance with Mojo on the NBody problem in particular compared to a very efficient Julia implementation. It would be great if I could get some help to speed up this code....
System crashes when running notebook using mojo kernel in vs code.
I tried to run mojo codes in notebook .pynb (inside vs code). I am using ubuntu 20.04 and I have 32 gb ram. I noticed ram uses suddenly increased from 6gb to 32 gb and hence system froze. This happens everytime I run my codes in vs code using mojo server and also in jupyter notebook (inside browser). What I should do to fix it?
Thanks!...
Python print statements don't seem to do anything when deployed to server
```py
from python import Python
fn main() raises:
try:...
Errors for flow control?
Exceptions are used for flow control in Python (e.g. the
StopIteration
exception). Is this considered a good/normal practice in mojo as well (using Error
I guess)?Casting between DTypePointer[DType.uint8] and Pointer[UInt8] ?
Is it possible to cast between the two similar types, specifically to initialize a Pointer[UInt8] to point to the same memory addr as DTypePointer[DType.uint8]?
Here is an illustration:
```
var ptrd = DTypePointer[DType.uint8].alloc(10)...
Modular CLI Progress Bar
Can we please have a progress bar when downloading artifacts when installing mojo?
Without it, it feels like the download is stuck and there are no cues to if our download is stopped because of network issues or so and makes it pretty hard to install mojo...
VS Code Path Issue
I've been having an issue getting the path setup for VSCode. The repl works fine and I can run in terminal but its saying my path doesn't exist in VSCode Even though I'm pretty sure that is the correct path.
Can anyone please help?...
Compilation with Python?
I am wondering if the modular compiler would also compile the python code to c as well? I am guessing not
I am thinking this is useful for producing very small high performance binary programs that work with windows osx and linux, that more or less you can ship with python ?...
Mojo REPL in weird terminals (Emacs shell)
mojo
doesn't like Emacs' shell
mode (see screenshot).
IPython has a --simple-prompt
flag that makes it behave in weird environments. Does the Mojo REPL have something like that?...Mojo on Arm
When will Mojo be available for Arm processors?? It would be wonderful to be able to use Mojo for robotics on the Raspberry Pi, NVIDIA Orin, and other Arm-based systems. 😉😁
Null Operators
Will operators Nullish coalescing (?? )and Optional chaining (?.) opearators be added to mojo?
Should I Create a modular_home folder if it wasnt created?
I tried to install Mojo on Vscode but it turns out that i dont even have a modular_home folder and i wonder if i should create it
How will the syntax look when mojo supports GPUs?
I'm wondering when people build operators like matmul will they have to write a function for CPU and a very different function for the GPU? Or will the syntax remain relatively similar, and the same function can be used on both? It will just take advantage of hardware acceleration when it is available.