开始之前
学习用书:《practical common lisp》
学习环境: linux->emacs+slime+sbcl
1.1 Lisp的诞生
Lisp是1956年由John McCarthy发明的Lisp语言的现代版本。Lisp在1956年被设计用于“符号数据处理”,而Lisp这个名字本身就来源于其最擅长的工作:列表处理(LISt Processing)。
首批Common Lisp实现诞生于1986年,它们是在Common Lisp试图取代的其他Lisp方言的基础上写成的。1996年,美国国家标准学会(ANSI)发布了一个建立在CLtL之上并加以扩展实现的Common Lisp标准,其中增加了一些主要的新特性,包括CLOS和状况系统。
1.2 Common Lisp的简介
Common Lisp(缩写为CL),是Lisp的众多方言之一,标准由ANSI X3.226-1994定义。它是为了标准化此前众多的Lisp分支而开发的,它本身并不是一个具体的实现而是各个Lisp实现所遵循的规范。
Common Lisp 是一个多重范式编程语言,这表现在:
1.支持各种编程技术:过程编程,函数编程 和 面向对象的编程。
2.动态数据类型,但是可以使用可选的类型声明来提高效率和增强安全性。
3.可以通过一些标准特性来扩展,例如 Lisp宏(程序自我进行的编译时代码重排 (compile-time code rearrangement accomplished by the program itself)) 和 阅读器宏(赋予用户自定义的保留字以特殊意义的符号扩展 (extension of syntax to give special meaning to characters reserved for users for this purpose))。