common-lisp True 和 False

示例

特殊符号T表示Common Lisp中的值true,而特殊符号NIL表示false:

CL-USER> (= 3 3)
T
CL-USER> (= 3 4)
NIL

在标准中,它们被称为“常量变量”(sic!),因为它们是无法修改其值的变量。因此,您不能将它们的名称用于普通变量,如以下不正确的示例所示:

CL-USER> (defun my-fun(t)
           (+ t 1))
While compiling MY-FUN :
Can't bind or assign to constant T.

实际上,人们可以简单地将它们视为常数或自评估符号。T并且NIL在其他意义上也是特色。例如,T也是一个类型(任何其他类型的超类型),同时NIL也是一个空列表:

CL-USER> (eql NIL '())
T
CL-USER> (cons 'a (cons 'b nil))
(A B)