thinking about virtual machines
Marcus Daniels
marcus@sysc.pdx.edu
27 Apr 1997 14:56:31 -0700
>>>>> "RC" == Richard Coleman <coleman@math.gatech.edu> writes:
RC> Maybe a two tier attack, where one group develops the LVM standard
RC> and layers it on some hardware (using Flux toolkit for example)
RC> and the second group starts with a chosen lisp implementation and
RC> start adding all the system applications that a stand-alone lispOS
RC> would require.
Yeah, personally, I don't really care about whether or not there is a
pre-existing LVM standard. I think it is just fine to tear ahead
with a free implementation and then let interested parties work
backward to create such a standard. What I want a usable free system
which is not predefined by what is commercially feasible. If there are
people strictly interested a pre-existing LVM standard, they will
proceed and people like me can listen and conform to their ideas.
RC> Now assuming we tried to develop such a standard...
RC> 2) What is wrong with the current virtual machines? What does the
RC> java VM do wrong? I heard someone mention that IBM has announced
RC> a new virtual machine architecture (UVM for universal virtual
RC> machine). Does anyone know anything about this?
There is ANDF, and an ANDF target for GCC called GANDF.
RC> 3) What lisp implementations use a virtual machine architecture
RC> that we could retarget to LVM.
The CMUCL technical documentation has a chapter on their VM, it is
the file called docs/internals/vm.tex. I'm not sure which tar file
it is distributed with at CMU (I can't access their FTP server at the
moment); email me if you can't find it.
Scheme48 has a VM, and a minimal byte compiler. A paper describing it
is http://www-swiss.ai.mit.edu/ftpdir/users/jar/lsc.ps.
I don't have any experience with MIT Scheme's LIAR compiler, but it appears
to be fairly portable: generating code for C, Alpha, i386, Mips, Sparc
among others. The backend support files (written in Scheme) for C are
200K and for the i386 are 300k. Perhaps a new backend could be written
for LVM.
Another compiler is Stalin (a STAtic Language ImplementatioN), which
generates C that is supposedly of very high quality.
Kawa (Scheme over JVM) was already mentioned, I think.
ANDF is at http://www.gr.opengroup.org/andf/.
CMUCL is at ftp://lisp-rt1.slisp.cs.cmu.edu/afs/cs/project/clisp/release
and also http://www.cons.org/cmucl/.
Kawa is at http://www.cygnus.com/~bothner/kawa.html.
MIT Scheme is at http://www-swiss.ai.mit.edu/scheme-home.html.
Scheme48 is at http://www-swiss.ai.mit.edu/~jar/s48.html.
Stalin is at http://www.emba.uvm.edu/~qobi/software.html.