What could the Julia compiler learn from the LPython compiler?

LPython is a Python compiler that can compile Python code with type annotations into optimized machine code, and offers Just-In-Time (JIT) compilation and seamless interoperability with CPython.

1 Like

Note, Julia is mentioned in the announcement as a possible backend, but after a short exploration of both LPython and LFortran websites (both .org and GitHub) I could not find any other trace of it …

1 Like
1 Like

So it was in libasr. Thanks for the ref. I wonder if somebody could try (I may be doing that later) / have an opinion of converting python to Julia ?

This is a FAQ.

1 Like

From what I can see, LPython is compiling code where every variable type is declared and concrete. Like a Fortran code. It doesn’t include a type inference machinery. Julia does not have a declaration syntax that guarantees that a label is assigned always to the same type. Thus that conversion is probably limited.

Yes, now I remember it. The FAQ item explains very clearly why Julia as a compiler is needed/much better solution than thinking of it as a front end.

My asking/wondering was more on the two following other points , 1) why do a Julia backend, is there any interest for those LPython users - or developers-?, and 2) could it help to pushed some Python users to Julia?

That was only my 2cts of contribution inspired by the news,

PS. For 1), I was (notably) thinking of the possible usefulness of Julia stack of GPU, that is CUDA.jl, AMDGpu.jl, Metal.jl, oneAPI.jl, …