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

How useful will a liberated T and NIL be?



The following point is somewhat subsidary to your main point in the
note of Mar 2;  but it is an issue worth facing now, and one which I
don't believe has hit the mails yet (although it has had some verbal
discussion here):
    Date:  2 Mar 1982 1658-EST
    From: HEDRICK at RUTGERS (Mngr DEC-20's/Dir LCSR Comp Facility)
    Subject: I think I am missing something
    . . .   As far as I can see, the new symbol
    NIL is going to be useless, except that it will help old code such as
    (RETURN NIL) to work.
As to the prospect that the symbol NIL (and the symbol T if Fahlman's
option 2 or 2A on "truthity" is taken) will become useless due to being
globally bound to null (and to #T for T), Well: Such binding is relevant
only to old code.   New code is free to bind those symbols at will, so long
as the new code doesn't try to call old code with **dynamic** rebindings of
NIL and/or T.  I believe we will have local declarations in Common-Lisp, and
a "correct" evaluator (vis-a-vis local variables), so code like
  (DEFUN FOO (PRED F T)
    (DECLARE (LOCAL F T))
    (COND (F (NULL PRED))
	  (T PRED)
	  (#T () )))
will be totally isolated from the effects of the global binding of T.