<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Rust supports inline assembly <a href="https://doc.rust-lang.org/1.8.0/book/inline-assembly.html">https://doc.rust-lang.org/1.8.0/book/inline-assembly.html</a><br><br>Sent from my iPhone</div><div><br>On Sep 12, 2017, at 9:47 PM, Thom Cherryhomes <<a href="mailto:thom.cherryhomes@gmail.com">thom.cherryhomes@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">For a language that purports to be a replacement for low-level systems programming, Rust not having bitfields or unions, would be a real pain in the ass to do any intricate hardware driver work... I'm guessing that Rust is designed by 20-somethings who have never done a line of assembler in their lives?<div><br></div><div>sigh.</div><div>-Thom<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Sep 12, 2017 at 3:25 PM Dmytro Lytovchenko <<a href="mailto:dmytro.lytovchenko@gmail.com">dmytro.lytovchenko@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">I tried to begin once.<div><br></div><div>Here's the catch:</div><div><ul><li>Rust had no unions at the time of my experiments (added in 1.19 - July 2017)</li><li>Rust has no bit fields (some libraries exist trying to alleviate this)</li><li>Erlang process heap is created and maintained by abusing pointers and bits in them. Casting integers to pointers and back i believe is possible but will give you some pain.</li><li>A really fast VM loop is done using C/C++ goto (void*) extension, in Rust you will probably have to use old good switch/case (slower)</li></ul><div>When you overcome these base problems, it should be possible to proceed carefully :)</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-09-12 22:10 GMT+02:00 austin aigbe <span dir="ltr"><<a href="mailto:eshikafe@gmail.com" target="_blank">eshikafe@gmail.com</a>></span>:<br><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>Regards,</div><div>Austin</div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div></div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>erlang-questions mailing list</span><br><span><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a></span><br><span><a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a></span><br></div></blockquote></body></html>