BEAM documentation (was Re: Packages in Erlang...)
Mon Sep 15 04:48:31 CEST 2003
"Erik Stenman" <> writes:
> But some bad news for any Erlang implementer:
> The Core Language is quite easy, but Erlang is really all the magic
> bifs. To reimplement these bif will take a long time and be very
> error prone. Trying to reuse the bifs from the OTP C-source would
> tie you to using the same tag-scheme, GC, and process model as
> the ERTS by OTP.
Which BIFs are hard?
The process stuff all seems straight forward enough. The ETS
primitives should be okay if your target has hash tables and trees. I
don't see much tricky stuff from browsing the C code. What'm I
> Erlang has evolved from a nice little language to a huge OTP system,
> leaving potential new Erlang implementations 10 years behind.
On the other hand it's very practical that we're all using the same
Erlang system. How boring it would be if there were ten Erlangs, and
Mnesia only worked on one, Yaws on a couple of others, etc.
BTW, kudos are due to you HiPE guys both for building your stuff on
the standard Erlang from OTP and for writing all the code in
Erlang. No doubt you were sorely tempted to start from scratch, but
actually getting it integrated into OTP is a great accomplishment.
P.S., it's nice to have these threads about BEAM. I just had a browse
of the C code, which I haven't really done before. I've observed that
one can have large C programs on the computer (Emacs, Linux, etc)
without ever knowing how they work, but after you first actually open
the code you're inevitably familiar with it within a year or so :-)
More information about the erlang-questions