The VM Goals

Bill House
Mon, 5 May 1997 13:13:22 -0700

John Wood wrote:
>[snip introduction]
>I have one initial question - to what extent is the LispVM required to be 
>specific to the Lisp language?  I feel that if we want to produce a "virtual 
>processor" specification which is ultimately universal, then we should be 
>looking at something wider than a model which fits the Lisp architecture.  I 
>recall Bill House mentioning that Lisp can ultimately describe the features of

>all languages, but I think we should be considering something flexible enough 
>to fit future language requirements than just past languages.  Comments?

My personal comments and opinions are as follows:

I would like to see a UVM spec and reference implementation come out of this
project. I would also be interested in working to present the same to ANSI/ISO
for the purposes of creating a UVM standard. Having a one UVM standard would be
great, having only the JVM standard I think would be bad, especially if allowed
to happen as-is.

The "U" in "UVM" has a dual meaning -- Universal (re: potential language
support) and Ubiquitous (IOW, a freeware, cross-platform technology that
becomes ubiquitous on the I*Net). FWIW, I'm into the Lisp/Scheme aspect because
those are the languages that are most hampered by the current JVM spec and
Lisp/Scheme are languages that I need to use. 

I am not eager to compromise Lisp/Scheme efficiency only for the sake of
supporting other programming models. However, I don't believe that this is
necessary -- with the right VM architecture, I believe that we can support
multiple programming models with equal utility. This is ought to be considered
a primary design goal.

If you have a VM architecture or spec in mind, let's have a look. If it does
provide significant benefits over other approaches, then participants will
recognize that and may support your model. No code has been written yet, as we
are in the first few weeks of existence, so now is the time to get your ideas

There is also the LispOS project to consider. That project's aim it to
essentially make a freeware LispOS that runs on stock hardware and that rivals
or exceeds the functionality of dedicated Lisp machines. The two projects
illustrate a friendly polarization within the Lisp/Scheme community -- some
people want to be able to use Lispy languages ASAP in their day-to-day work and
applications. Others want to prove the point that Lisp has a superior
computational model, now that the hardware has caught up with it. I consider
myself a member of both camps, but practicality forces me to want an
interoperable, cross-platform LispVM, suitable for browser embedding, as a
first goal. 

With regards to LispOS, my main concern is that the two projects support binary
portability for LispVM agents. FWIW, there have been those in the LispOS
project who have stated that they did not see a browser-embeddable LispVM as
being relevant. I happen to disagree, but then reasonable people are allowed to
do that. <g>

A freeware LispVM that has innovative technological advantages and whose
instruction set can support a variety of programming models would be just fine
by me! 

Bill House
The views expressed are mine alone,
unless you agree with me.