Python Implemention in Julia

Another interesting data point: 3-4 main contributors working for around 3-4 years.

1 Like

CPython can also be embedded in other programs, and that’s precisely what PyCall and PythonCall currently do.

Compiling to WebAssembly is another VM situation.

2 Likes

Deep learning is the future of programming.

idea:
IF we can add “Julia” processor to the https://github.com/facebookresearch/CodeGen project
THEN we can convert C/C++/Java/Python to Julia. ( or back )

The next step: convert the CPython to Julia ( with the C->Julia translator )

related:

I reeeeealy hope it is not. And with the many time AI has embarked a hype train to hit a wall, it will probably not be.

5 Likes

It will bring a whole new class of nearly incomprehensible bugs :slight_smile:

3 Likes

It already brought. In fact, currently one hot topic of research with big tech putting some money in it is “how to make deep learning less of a blackbox”. The classical example is the classifier learning to classify between wolves and dogs by learning to detect snow (i.e., an white background) instead of anything directly related to wolves and dogs.

FYI: The closest I know of is:

A pythonic syntax for Julia (for fun, not for serious use)

[It’s not maintained for Julia 1.0+ (unlike LispSyntax.jl similar in spirit), but should be easy to resurrect…]

There’s not point in reimplementing Python i.e. syntax and semantics, in Julia. But it could be done, similar to APL implemented in APL.jl. I just don’t see any upside (just plenty of downsides) to reimplement Python once again, not for us, not for Python or Rust users.

What I find valuable is being able to call to and from Python (without any overhead, possible with e.g. PythonCall.jl), and same for R and more.

Why RustPython was done, is maybe for them to say, a hobby project (actually many, that got merged or abandoned)? Still, they might need a good other language with a REPL, or just wanted faster Python. We have the speed (like Rust and C).

In time it may be helpful to being able to call RustPython or Pyston or whatever alternative good Python implementation, but I only call Python for features/library access, more so than for speed (and often those “Python” libraries are fast enough; as also implemented in C).

What might be helpful is to be able to reuse CPython extensions, directly, or more likely the extensions to R (since it doesn’t run in the same process, when used with Julia?). And vise versa, also useful, using Julia this way from other languages, there from Python: