|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.