<div dir="ltr">> Personally, I'd just throw some more time after concurrent OCaml, and then write a translator from Erlang to OCaml :P<br><div><br></div><div>Do you think concurrent OCaml has advantages over Erlang? And if yes, what are they, in your opinion?</div><img src="https://mltrk.io/pixel/83XzJVy6aYScb09kpRll?rid=83XzJVy6aYScb09kpRll" width="1" height="1" border="0"></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 13, 2017 at 1:11 PM, Jesper Louis Andersen <span dir="ltr"><<a href="mailto:jesper.louis.andersen@gmail.com" target="_blank">jesper.louis.andersen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div class="gmail_quote"><div dir="ltr">On Tue, Sep 12, 2017 at 10:10 PM austin aigbe <<a href="mailto:eshikafe@gmail.com" target="_blank">eshikafe@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>Any consideration for implementing the Erlang VM in Rust?</div><div><br></div></div></blockquote></div><div class="gmail_quote"><br></div></span><div class="gmail_quote">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.</div><div class="gmail_quote"><br></div><div class="gmail_quote">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:</div><div class="gmail_quote"><br></div><div class="gmail_quote">* Move more work out into NIFs. Reimplement those in Rust</div><div class="gmail_quote">* Coalesce more work on Dirty Schedulers</div><div class="gmail_quote">* Implement Native Processes, so you can start running Rust-native-processes</div><div class="gmail_quote">* Write an AOT or JIT compiler pass. Move ETS into pure Erlang. Move a lot of the BIF optimized functions into pure Erlang.</div><div class="gmail_quote"><br></div><div class="gmail_quote">A smaller core is way easier to replace.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Personally, I'd just throw some more time after concurrent OCaml, and then write a translator from Erlang to OCaml :P</div><div class="gmail_quote"><br></div></div>
<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">With best regards,<div>     Roman Galeev,</div><div>     +420 702 817 968</div></div></div>
</div>