<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>There is no known hardware implementation because the original
BEAM
158-instruction set is quite complex to load, parse and interpret, and the runtime part of hardware to support built-ins and data types would be pretty massive. But it might be possible if you simplify the opcode set, simplify the memory structure (to save on bit manipulations) similar to Python or Java memory model, and shrink it to something that is possible to hard-wire.</div><div><br></div><div>So yes, some _hobby_ work on that was done by me without a significant result: it turned out to be massive amount of work, without a commercial project, and without any particular goal - it becomes really hard to focus on the topic and to keep going. Essentially I worked on compressed instructions and reduced instruction set (here <a href="https://github.com/kvakvs/E4VM">https://github.com/kvakvs/E4VM</a> ), after some success I left the project, tried implementing a normal BEAM VM in software (<a href="https://github.com/kvakvs/ErlangRT">https://github.com/kvakvs/ErlangRT</a> ) and now trying another one for simplified memory model and compiling to machine code (<a href="https://github.com/kvakvs/ErlangAoT">https://github.com/kvakvs/ErlangAoT</a> ). <br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, 1 Sep 2018 at 22:45, joe mcguckin <<a href="mailto:joe@via.net">joe@via.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Does anyone know if the BEAM vm has ever been implemented directly in hardware (e.g. in an FPGA)?<br>
<br>
Thanks,<br>
<br>
Joe<br>
<br>
<br>
Joe McGuckin<br>
ViaNet Communications<br>
<br>
<a href="mailto:joe@via.net" target="_blank">joe@via.net</a><br>
650-207-0372 cell<br>
650-213-1302 office<br>
650-969-2124 fax<br>
<br>
<br>
<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>
</blockquote></div>