[erlang-questions] Erlang VM in Rust
Jesper Louis Andersen
Wed Sep 13 13:11:36 CEST 2017
On Tue, Sep 12, 2017 at 10:10 PM austin aigbe <> wrote:
> Any consideration for implementing the Erlang VM in Rust?
I think the problem is roughly the same as with any other language: A lot
of good effort has been sunk into the current VM in C and this makes a
switch harder. Rust has ABI compatibility with C in some ways, which makes
interoperability simpler, so one could imagine taking some of the more
security-oriented parts of the VM and rewriting those in Rust or some other
language of the more restrictive kind.
If you want to rewrite all of it, a good approach is to start by making
changes to the current VM which makes it smaller:
* Move more work out into NIFs. Reimplement those in Rust
* Coalesce more work on Dirty Schedulers
* Implement Native Processes, so you can start running Rust-native-processes
* Write an AOT or JIT compiler pass. Move ETS into pure Erlang. Move a lot
of the BIF optimized functions into pure Erlang.
A smaller core is way easier to replace.
Personally, I'd just throw some more time after concurrent OCaml, and then
write a translator from Erlang to OCaml :P
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions