POS, OOFS, CL v Scheme, etc.

Kelly Murray kem@Franz.COM
Mon, 12 May 1997 12:01:44 -0700

>From: mw@ipx2.rz.uni-mannheim.de (Marc Wachowitz)
> do this, I'd indeed suggest to extend Scheme rather than Common
> Lisp, since a sufficiently careful and exhaustive review and re-
> implementation of Common Lisp would probably be beyond our short-
> term capacity (note that this would affect the optimizer deeply).

I'll use this reply to clarify what I meant by 90% of this
LispOS system would be portable CL.  What I should have said is that
90% of the code would be portable *TO* a CL system, as in it
can run on top with little trouble or modification.
I think it is mostly removing or tweaking CL things, rather than
wholesale replacement.  

I agree with hbaker about making lists be read-only,
it is an excellent idea.

That is how they work in AllegroStore today.
Destructively modifying a list does not change the contents of the
database, simply because the lists are copied to transient memory
when read from the database.  It wasn't really a design decision,
but a result of the implementation.

I note that probably 99% of all the lists in an ACL image
are read-only.  By allowing that to be 100%, a huge amount of data
can be put into a read-only memory segment and shared efficiently.

Using destructive list operations is ancient-style lisp coding.