thinking about virtual machines

Richard Coleman coleman@math.gatech.edu
Sun, 27 Apr 1997 02:39:45 -0400


ok... people keep talking about the possibility of developing
a new virtual machine for lisp.  Let's follow this line of
reasoning for the moment (indulge me...).

I'll dub this new mythical standard virtual machine as LVM.

Now, a big problem is the process of developing a "standard".
We all know this is a long and frustrating process.  Once you are
done, this is no guarantee that anyone will be interested in the
results.

While waiting on this standard to develop, this project would
lose its momentum.  People need to see progress (i.e. running code)
to stay interested.  So how could we do this and keep the momentum up?

Maybe a two tier attack, where one group develops the LVM standard
and layers it on some hardware (using Flux toolkit for example) and
the second group starts with a chosen lisp implementation and start
adding all the system applications that a stand-alone lispOS would
require.

Now assuming we tried to develop such a standard...

1) Where to start?  There has been plenty of virtual machines
   developed.  What should be choose as a base (LVM 0.0)?

2) What is wrong with the current virtual machines?  What does the
   java VM do wrong?  I heard someone mention that IBM has announced a
   new virtual machine architecture (UVM for universal virtual machine).
   Does anyone know anything about this?

3) What lisp implementations use a virtual machine architecture that
   we could retarget to LVM.

Now I believe this using this method has merit.  But I need to be
convinced it can be accomplished.

Richard Coleman
coleman@math.gatech.edu