I was actually suprised to find that the empty list is a symbol, the same one referred to by nil. I thought they would refer to some special singular 'nil' value with its own type.
(symbolp '()) ; ==> t
(eq nil '()) ; ==> t
(eq 'nil '()) ; ==> t
(eq 'nil nil) ; ==> t
(symbol-name '()) ; ==> "nil"
I was actually suprised to find that the empty list is a symbol, the same one referred to by
nil
. I thought they would refer to some special singular 'nil' value with its own type.