Subject: | inconsistent treatment of the empty list |
LISP->new([])->string gives "(NIL)". I'm not sure whether the LISP
module is to equate the empty list with the symbol NIL. In either case,
this behavior is wrong. If you intend to distinguish them (like Scheme),
it should be "()". Otherwise (Emacs Lisp and others), it should be "NIL".
For a reference to the empty array, LISP::List returns a new pair whose
car and cdr are NIL. I guess this pair is semantically NIL, but it isn't
in reality because the reference doesn't refer to the same address as
$LISP::List::NIL.