This question seems to come up now and again, and it's surprising to me that a crucial part of the documentation isn't better documented. Is there a reason that it is the case? Is the reason that there is no VM spec to give the devs the flexibility to change the intermediate layer without having to worry about backwards compatibility to the degree that Java does?<div>
<br></div><div>Thus far I've found a description of the opcodes:</div><div><a href="http://azunyanmoe.wordpress.com/2011/03/30/erlang-vm-opcodes/">http://azunyanmoe.wordpress.com/2011/03/30/erlang-vm-opcodes/</a></div>
<div><br></div><div>and this resource on the file format:</div><div><a href="http://www.erlang.se/~bjorn/beam_file_format.html">http://www.erlang.se/~bjorn/beam_file_format.html</a></div><div><br></div><div>But there doesn't seem to be a lot of high level talk about what the opcodes do (a la the JVM specification, for example). I know it's not impossible, and could always ask the guys at Erjang how they went about it, but thought I'd ask here.</div>
<div><br></div><div>Please forgive a newbie question, and thanks in advance</div><div>Jon</div>