[erlang-questions] Why do we need modules at all?

Richard O'Keefe ok@REDACTED
Wed May 25 09:30:44 CEST 2011


On 25/05/2011, at 6:16 PM, jm wrote:
> 
> Is there a language in existence which scales from "here's a piece of bare metal" and scales up to declarative distributed programming of the likes of Erlang? At the moment, it seems that the accepted way is to change from assembler to C to something else. Is there a language that progresses from the low level machine code basics up by adding language features and improving the runtime environment which is written in itself, ie turtles all the way down, and is more than an AST written in ascii (I'm looking at you lisp)?

The original Smalltalk ran on bare metal.
There is or was a "SqueakNOS" (no operating system) port
that ran on bare metal, but with a glue layer in C.

Interlisp-D ran on bare metal.
There were some low level primitives, but you quickly
got into Lisp, and everything from the garbage collector
to the network and file system stacks as in Lisp.

Lisp machines ditto.
In both the MIT and Xerox lisp machines, you could twiddle
bits in registers or work on natural language translation.

Lisp is definitely more than an AST written in ASCII, and
there are several Algol-ish front ends for it.  Reduce
has (had?) RLisp and Macsyma used CGOL, I think.

The Poplog system ran under VMS, and because they were
serving lots of undergraduates, they really wanted a rock
solid time sharing system underneath.  But there's a
language layer called Syspop that gets you quite low,
with Pop11, Prolog, Common Lisp, and ML layered on top.

My experience with Interlisp-D was that you really want
to hide the bottom level pretty quickly.






More information about the erlang-questions mailing list