Common Lisp 语言快速入门指南

5星 · 超过95%的资源 需积分: 35 5 下载量 51 浏览量 更新于2024-07-27 收藏 4.17MB PDF 举报
"common lisp.pdf" Common Lisp是一种高级的、通用的编程语言,以其独特的语法和强大的函数式编程特性而闻名。它源自于Lisp语言的早期版本,随着时间的推移,不断发展和完善,成为了现代编程语言中的一员。本书旨在帮助读者快速入门Common Lisp,深入理解其核心概念和操作。 在Lisp概述部分,我们了解到Lisp是一种动态类型的解释型语言,其设计哲学强调代码即数据,这种特性使得Lisp具有极高的灵活性和可扩展性。Lisp的源代码通常呈现出一种括号结构,这使得它在视觉上与其他编程语言有显著的区别。 在快速入门章节,首先介绍了Lisp的求值和数据类型。Lisp的求值规则是基于函数调用的,任何表达式都会被转化为一个函数调用的形式进行计算。Lisp的数据类型包括原子(atom)和列表。原子是不可再分的基本单元,可以是数字、符号或者特殊对象。列表则是由零个或多个元素通过 cons 组合而成的,它们在内存中以链表的形式存储。 接下来,书中列举了7个基本运算符,它们是Lisp语言的基础: 1. `quote`:用于创建常量,防止表达式被求值。例如 `(quote (a b c))` 返回一个列表 `(a b c)`,而不是计算它的值。 2. `atom`:检查一个对象是否为原子,如果对象不是列表或nil,则返回true。 3. `eq`:比较两个对象是否完全相同,不仅值要相同,而且必须是同一个对象。 4. `car` 和 `cdr`:用于访问和操作列表。`car` 返回列表的第一个元素,`cdr` 返回除去第一个元素后的列表,或者如果列表为空,则返回nil。 5. `cons`:用于构造新的列表,将一个元素添加到另一个列表的开头。 6. `cond`:条件表达式,类似于其他语言中的if-else语句,可以根据一系列测试来选择执行相应的代码块。 此外,书中还介绍了变量与赋值的概念。在Common Lisp中,变量可以随时被赋新值,这是动态绑定的一个特点。变量的赋值使用`setq`函数,例如 `(setq x 10)` 将变量x设置为10。Lisp还提供了`defvar`和`defparameter`来声明全局变量,并提供默认值。 Common Lisp是一门功能强大的编程语言,它拥有丰富的内置函数、宏系统以及面向对象编程支持。通过学习和掌握Lisp的这些基础知识,开发者能够构建出高效、可维护的软件系统,同时也能享受到Lisp独特的编程乐趣和思维方式。