[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: (BUG LISP) at MIT-AI, KMP at MIT-AI, nil at MIT-MC
- From: RMS@MIT-AI
- Date: Sun, 5 Jun 78 04:03:18 GMT
- Original-date: 05/06/78 00:03:18 EDT
The advantage would be that all symbols would be on an equal footing.
Otherwise, either there is a symbol which is also a list,
or LISTP is not true of all lists (in particular, not of the empty list).
It is simply clear that (SYMBOLP 'NIL) should be true, and
(LISTP '()) should be true, and if NIL is the same as () this
is rather paradoxical.
As long as () and NIL continue to be identical (so (SYMBOLP '()) is true)
then () might as well print as a symbol.
By the way, there is no similar need to get rid of using the symbol T for truth,
because ANY symbol will do (except for the symbol NIL; but if my scheme
is adopted, this exception will cease).
There is actually some merit in Muddle's feature of providing
infinitely many FALSE's. The easiest thing to do would be to
create the data type FALSE IN ADDITION to he empty list ().
Both () and things of data type FALSE would count as FALSE.
This way, the Lisp advantages of having () count as false
would still exist; people would not have to use FALSEs to end
lists with; and yet people who want to return FALSE with extra
information can do so. I have not worked out all the details
of any way to do this, so it might involve screws.