<p>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.</p>
<p>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></p>

<p>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.</p>

<p>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.</p>

<p>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?</p>

<p>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? </p>

<p>Regards,</p>
<p>Lars</p>