BEAM documentation (was Re: Packages in Erlang...)

Erik Stenman <>
Thu Sep 11 12:47:39 CEST 2003


> I'm partial to both Forth and Lisp,  but newer, optimizing Forth 
> systems tend to be a bit eclectic, and I haven't found a good, 
> machine code generating Lisp system that's cross-platform.  The 
> Windows port of CMUCL is apparently stalled.  I suspect the easiest 
> option, or the one I'd have the most fun writing, would be a homebrew 
> Forth.
> 
> An interesting option is C-- (see cminusminus.org).

If only there would be a C-- compiler at some point. 
There is still after at least five years not a finished C-- compiler.
And the real reason to use C-- would be the promised support for
GC, exceptions, and processes, but this is nowhere in sight.

When there is a C-- compiler that delivers what was described in
the C-- white papers (from 1997 and 2000)

And from the Quick C-- page:
  Our goals for fast compilation are not being met; it appears that 
  the compiler is spending a lot of time in register allocation. 
  Until we get better at profiling, Slow C-- is better name for this
compiler.  

(Off topic: I would suggest the use of Linear Scan to the C-- people
 to speed up register allocation (in HiPE you can use Linear Scan 
 exactly for this reason.))

A better way might be to use vmgen by Ertl et al (slightly Forth centric
but not directly tied to Forth):
http://www.complang.tuwien.ac.at/projects/interpreters.html

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. 

Erlang has evolved from a nice little language to a huge OTP system,
leaving potential new Erlang implementations 10 years behind.

I would love to be seen proven wrong by having lots of independent
Erlang implementations popping up so please go ahead and make your 
own implementation.

/Erik -- Who has spent the last 7 years trying to keep up with OTP.
------------------------------------------------------------------- 
I'm Happi, you should be happy.
Praeterea censeo "0xCA" scribere Erlang posse.




More information about the erlang-questions mailing list