GetFirefly / firefly

An alternative BEAM implementation, designed for WebAssembly
Apache License 2.0
3.61k stars 104 forks source link

GraalVM #710

Closed ShalokShalom closed 2 years ago

ShalokShalom commented 2 years ago

Just a heads up:

The GraalVM has a LLVM implementation (called Sulong) and one for WASm. And they have actually quite a couple of other neat tricks up their sleeve.

It is essentially a reimplementation of the JVM, with lots of additional languages supported, like Python, Ruby, Javascript, R and all the LLVM languages.

I assume, Erlang might or might not run on it, due to it depending on certain characteristics of the ErlangVM and Lumen, I cannot judge on this.

If that assumption is incorrect and it runs just fine, with all features supported, you might be interested in advertising that.

Combining all the supported features is one of the key features of this platform, and could help the adoption.

They also support native image compilation.

https://www.graalvm.org/

bitwalker commented 2 years ago

We're aware of Graal, but targeting it is not something we're going to pursue right now, we have our own codegen pipeline based on LLVM, so there is little to gain by changing that to Graal, and significant development costs associated with such a change even if we wanted to.

Thanks for the recommendation though!

ShalokShalom commented 2 years ago

I assumed significant development might come hand in hand with it, while I had no idea what besides simply using the llvm compiler would that include.

Polyglot support for basically 9/10 of every popular language seemed something interesting to me.

Considering that Erlang/Beam seems pretty isolated in its own ecosystem..

Thanks for the consideration!