在GNU Clisp 2.49上,(listp nil)
返回true。有人能解释一下吗搜索找到this question的答案表明该表达式应返回NIL。
答案 0 :(得分:4)
在Common Lisp listp中返回T
列表。 nil
是空列表,因此(listp nil)
为T
。 NIL
也可以写为()
。
CL-USER 38 > (eq (read-from-string "()")
(read-from-string "NIL"))
T
在Common Lisp中nil
有多个用途:NIL
包中名为COMMON-LISP
的符号,空列表,布尔值(或广义布尔值)表示false,以及空类型的名称。