Kernel LISP - how low down can it go?

BRIAN SPILSBURY zhivago@iglou.com
Thu, 22 May 1997 01:14:57 -0400 (EDT)


WAB> Mr Baker, I've read your papers and, as I said above, I'm bloody dense. I
WAB> really don't understand what your immutable cons cells have as an advantage
WAB> over, say, the spaghetti stack of way too long ago...

The simplest way to look at it is that we can copy immutables indiscriminatly,
we can also change their structure to a large degree.

So if I have an immutable list (a b c d e f), then I can re-implement that
in my garbage collector, or wherever into a vector. If they share type
then we can even make this into a simple-vector, and save both space
and improve speed.

WAB> Mr Rideau, I know I'm dense when I try to follow you arguments. Reflection
WAB> seems to me to be a fancy way of expressing what Mr Kay was talking about
WAB> back in the Dynabook days when PARC took Interlisp and created Smalltalk...

As I see reflection, it is simply the ability to redefine the system from
within itself in a natural manner.

Being able to redefine elements such as (defun), being able to redefine
(make-array), etc. CL is reflective, as is demonstrated by PCL reflectively
transforming CL into CLOS.

But there are degrees of reflective freedom. Its not terribly special for
a lisp.

Just to throw my own 2c in with a minimum of jargon. Please correct if you
feel that I've misrepresented things.

Brian