Would it be possible to write LLVM in Julia?

I was reading the Developer Documentation on Eval of Julia code and the 10,000 foot view of the whole process. I wondered if this is still up to date since there were speed ups in 1.9.3 ?

I was also wondering if, Hypothetically, it would be possible to write LLVM in Julia?

(I’ve moved this to the “General” section, as this is not about development of julia internals)

In theory, yes - but practically, that’s quite a huge amount of work.

1 Like

Google Bard agreed that it would be a massive undertaking.

There are new compilers popping up. Like Tilde (project still in its infancy)that is a backend for Cuik C compiler. Odin-lang will also be using Tilde as their backend in future. Nevertheless hard and ambitious to replace LLVM.


On the one hand, can the Julia language express a compiler? Yes, certainly, it’s Turing complete so it can express anything. On the other hand does it make sense to try? Not at the moment, LLVM is doing its job so the best place to spend effort is on making Julia able to do things we all want like threaded GC and latency reduction / cached code and compiling to a small binary for some people’s uses, and such.