Make LispM code FREE (fwd)

William A. Barnett-Lewis
Wed, 01 Apr 1998 14:22:15 -0600

P. T. Withington wrote:
> On 3/31/98 23:41, Chris Hanson wrote:
> >At 10:05 PM -0600 3/31/98, Chris Bitmead wrote:
> >>The MIT lisp code would surely be interesting, but I really doubt
> >>it is going to be much more than a curiousity rather than the
> >>base for a new LispOS.
> >
> >That all depends how hard it would be to write an emulator for the hardware
> >it ran on... :)
> Can't be much harder than JVM.  That's what Symbolics did to make "Open
> Genera" -- it is a LispM emulator that runs on Alphas.  On a top of the
> line Alpha, it runs many times faster than the custom hardware ever did.
> (Another way of thinking about it:  the Alpha chip is the micro engine
> and the emulator is the microcode.  One reason the emulator runs so fast
> on the Alpha is that we were very careful to fit the "microcode" and
> "engine" into the Alpha's on-chip instruction and data caches.)
> OTOH, the portable C prototype of the emulator ran like a dog...

OTOH, once we had a (that??? Ah, that'd be fun!) portable C
implementation, there are a lot of tricks to optomize it that probably
weren't done to that prototype. Instead they went to optimize Alpha
assembler instead. Now, if we were to take that C and use it to generate
a baseline VM and then translate the VM code into Lisp, we could use the
initial VM to bootstrap a better VM. A similar technique is used in
Squeak. There is an excellent paper by the Squeak implementation team
describing this on my web page. It's a zipped word 95 file.


Live without fear; your Creator loves you
as a mother. Go in peace to follow the good
road and may God's blessing be with you always.
St. Claire