[erlang-questions] BEAM backward compatibility

Kenneth Lundin <>
Sun Jun 19 10:55:26 CEST 2011


.beam files are definately backwards compatible meaning that files created
with an older compiler can be loaded and run in a later release.
We have as a strategy to atleast support backwards compatibility 2
major releases
back in time. IThis means that .beam files created with OTP R12B something
can be used in R13 and R14 as well.
The same strategy applies to the distribution protocol between Erlang
nodes. I.e a R12B based node can connect and talk to a R14 node.

This does not apply to files containing native code, i.e produced with
the HiPE compiler.

/Kenneth Erlang/OTP, Ericsson

On Sun, Jun 19, 2011 at 6:23 AM, Daniel Dormont
<> wrote:
> Since I work mostly in Java, when I started learning Erlang I recognized
> .beam files as being  at least somewhat like .class files and assumed they
> would be backward compatible - that is, beams compiled in R12 would run in
> R13 and R14 and there shouldn't be any problems unless I were calling
> experimental APIs or deprecated APIs that were later removed. But a
> discussion on the ejabberd mailing list suggested that this might not be the
> case. I didn't see anything offhand in the official documentation. What's
> the word on this?
>
> thanks,
> Dan
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>



More information about the erlang-questions mailing list