[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:

> Hello,
>
> 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...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170913/e579f628/attachment.html>


More information about the erlang-questions mailing list