[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NIL



Re: Jonathon's suggestion for rationalizing NIL in Common Lisp and () in
    Scheme...

When Common Lisp is implemented on top of Scheme, or at the same time as
Scheme, your second approach is quite workable.  It relies on making the
representation of the empty list suit Scheme's needs and patching up a few
components of Common Lisp so () "looks" like the symbol NIL.  My only
concern here is that I'd like to use the same reader, the same SYMBOL?/
SYMBOLP routine, etc., but I'm willing to give in on those.

The first example you gave, bringing up Scheme (T) on top of Common Lisp
(Maclisp), still has a problem.  If Scheme is introduced into a system in
which the idea that NIL=='NIL=='() is deeply ingrained (e.g. in microcode),
then I see no way to allow a user to jump back and forth between processes
written in the two languages and which must share the same list data,
without making 'NIL=='().

I intend to make new systems conform along the lines you suggest.  However,
I still would like a multi-lingual implementation built on an existing Lisp
system to be allowed by the standard.

Regards,
David Bartley
-------