[no subject]

To: common-lisp at SU-AI

From: Richard M. Stallman <RMS at MIT-AI>

Date: Thu, 04 Mar 1982 00:33:00 -0000

Hedrick is correct in saying that distinguishing () from NIL
does not make it possible to distinguish between "no property"
and a property whose value is false, with GET. However, I think
his message seemed to imply a significance for this fact which it does
not have.
As long as we want GET to return the value of the property, unaltered
(as opposed to returning a list containing the object, for example),
and as long as we want any object at all to be allowed as a value
of a property, then it is impossible to find anything that GET
can return in order to indicate unambiguously that there is no property.
I don't think this is relevant to the question of NIL and ().
The reasons why I think it would be good to distinguish the two
have nothing to do with GET.
It is convenient that the empty list and false are the same. I do not
think, even aside from compatibility, that these should have been
distinguished. The reasons that apply to NIL vs () have no
analog for the empty list vs false.