[movitz-devel] Towards a LispMachine and/or LispOS

Lars Lundbäck lars.lundback at gmail.com
Sun May 4 12:48:21 UTC 2008

I have been following Movitz and its development since the first appearance
on the Net, and as much as possible of discussions on LispOs'es since the
days of the LispOS mailing list.

The terms LispOS and LispMachines are often used loosely. I have personal
experience, although limited, of the Xerox Interlisp D machine at the
beginning of the 1990's and earlier of various Lisp implementations starting
with Interlisp on the DEC VAX. And I have of course my own Common-Lispish
standalone-system-project going since many years - is there a serious Lisp
freak who does not? <grin>

Movitz is a most admirable attempt to provide a Common Lisp implementation
which does not depend on the resources of an underlying OS kernel. But these
resources must be implemented sooner or later, and the extent of them would
depend on the perceived goals. That is to say: What one should be able to do
with this Lisp-based combination of hardware and software.

Some fundamental issues when building a Lisp system are memory management in
it´s various forms (garbage collection, heaps and stacks, virtual memory
etc) and execution control (interrupts, hardware IO, multi processing and
multicore processors etc) but also modularization and the sharing of Lisp
functions and data across the total system.

It seems to me that Common Lisp objects, ie the function and data types
available, are not enough for building "on the metal". The compiler and
runtime environment must be extended to cope with the fundamental issues, eg
those mentioned above. And I cannot see how a Base Lisp system can be
constructed without foreseeing how it is to be used. This seems to be a
hen-and-egg problem. A Lisp is built around the notion of heaps and stacks,
and at the bottom of executable machine code and Lisp/machine data. Can the
compiler and runtime systems be designed without a supportive Lisp
vocabularity that deal with Common Lisp Things, the fenomena that exist
outside an established Common Lisp environment?

To conclude, my experience is that addressing these fundamental OS issues
inevitably leads to the design of the base Lisp system, be it Movitz or any
other. So I am curious. How do you guys feel about this, assuming you have
looked at it from a Lisp implementation viewpoint and perhaps using Movitz?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/movitz-devel/attachments/20080504/f6a308a5/attachment.html>

More information about the movitz-devel mailing list