相关术语

REPL :Lisp的交互式开发环境,即read(读取)、eval(执行)、print(打印)、loop(循环)。REPL也被称为交互式顶层构件(Interactive toplevel)。用一段Common Lisp代码即可体现:(loop (print (eval (read))))。

Lisp-1和Lisp-2 :在Lisp-1里,函数名和变量在同一空间,所以函数名和变量名不能重名;而Lisp-2中,变量名和函数名不在一个空间里。Common Lisp是Lisp2,Clojure、Scheme是Lisp1。

格林斯潘第十定律 :“任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、不合规范的、充满程序错误的、运行速度很慢的、只有一半功能的Common Lisp实现。”,详细请见维基百科词条页面

S表达式 :S-expression,即Lisp的括号表示法,如(+ 1 1)就是S表达式。S表达式在Lisp既可表示为数据,又可表示为代码:(+ 1 1)表示为求1+1的值,'(+ 1 1)表示为由“+、1、1”三个元素组成的列表。

原子 :指不可分割的那部分,Lisp是由列表组成的结构,列表是可分割的,因为它由一个个元素组成,那些元素就是原子,它们是组成列表的最小单位,除了列表外,都是原子,包括数组等结构都是原子。

自由变量(Free variable) :类似其他语言中的全局变量,defvar、defparameter、setf和setq定义的就是自由变量。

形式(form) :能够正确求值的S表达式,如果有自己的求值规则就叫特殊形式。

fold(高阶函数) :也被称为:Reduce。

谓词函数 :谓词部分就是给定一个未知数x,要么返回真,要么返回假。在Common Lisp中多数谓词函数的函数名以字母“p”结尾(比如numberp用来判断是否是数字),部分函数没有遵循这个命名原则,比如null。