- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Fri, 16 Feb 2007 10:02:03 -0500
- To: www-rdf-rules@w3.org
> [Bijan Parsia]
> [...]
> I guess I don't have strong prior intuitions about the nature of
> empty lists. Well, I guess I do, but then they don't involve pair/
> cons structures *at all*.
On reflection, we're both wrong, but I believe you are righter than
I.
> > and if it were then
> > testing whether a list was empty would be a nightmare.
I think I was a bit too hasty here. A list is empty if it's equal to
nil, period. Allowing the empty list to have elements is misleading
and perhaps humorous, but strictly speaking not a problem.
> Er if the first and rest of a list is #nil, then the list is #nil.
But you're wrong about this. There must be a list with exactly one
element, nil, and it must be distinct from nil. Otherwise you get all
kinds of anomalies. (For instance, the list (nil nil) = nil,
because rest[(nil nil)] = (nil) = nil, so (nil nil) = (nil) = nil.)
In other words, it can be true that
If the list is #nil then its first and rest are #nil
but not vice versa.
-- Drew
Received on Friday, 16 February 2007 15:03:11 UTC