False and the Empty List

In T3.0 the canonical false value #F is not necessarily the same object as the empty list, (). nil is bound to #F. For example,

formula vobeyspaces :
!:} (cond ((cdr '(a)) 1) (else 2))

may return 2 in a future release.

In T3.0 false and the empty list will continue to be the same object, for compatibility with previous versions, but this will change in a future release. As long as #F and () evaluate to the same object null? and not will continue to be isomorphic; however, null? should be used to test for the empty list, and not should be used to test for false.

It is now an error to take the car or cdr of the empty list, (). Again, for compatibility with previous versions, in T3.0 the car and cdr of () will continue to evaluate to (), but an error will be signalled in a future release.

It is an error to use () in an evaluated position. This error currently generates a warning and treats () as '(), i.e. as if the empty list were self evaluating. An error will be signalled in the future. Use '() for empty lists, nil or '#F for false values.