CL also differs from Scheme in its handling of Boolean values. Scheme uses the special values #t and #f to represent truth and falsity. CL follows the older Lisp convention of using the symbols T and NIL, with NIL standing also for the empty list. In CL, any non-NIL value is treated as true by conditionals, such as if, whereas in Scheme all non-#f values are treated as true. These conventions allow some operators in both languages to serve both as predicates (answering a Boolean-valued question) and as returning a useful value for further computation, but in Scheme the value '() which is equivalent to NIL in Common Lisp evaluates to true in a Boolean expression.
CL also differs from Scheme in its handling of Boolean values Scheme uses the special values #t and #f to represent truth and falsity CL follows the older Lisp convention of using the symbols T and NIL with NIL standing also for the empty list In CL any non-NIL value is treated as true by conditionals such as if whereas in Scheme all non-#f values are treated as true These conventions allow some operators in both languages to serve both as predicates (answering a Boolean-valued question) and as returning a useful value for further computation but in Scheme the value '() which is equivalent to NIL in Common Lisp evaluates to true in a Boolean expression