Common Lisp 入门指南

下载需积分: 8 | PDF格式 | 4.41MB | 更新于2024-08-01 | 158 浏览量 | 58 下载量 举报
收藏
"Common Lisp是一种强大的、动态类型的编程语言,它具有丰富的数据类型和高级特性,如宏系统和条件表达式。这本书对Lisp语言进行了全面介绍,适合初学者和有经验的程序员。" Common Lisp是一种高级函数式编程语言,它的设计目标是提供一个灵活而强大的环境,供程序员进行复杂问题的解决。在Lisp中,代码本质上被视为数据,这种特性使得Lisp具备了自我修改和元编程的能力。 1. **目的**: Common Lisp的设计旨在提供一种通用的编程工具,适用于各种应用领域,包括人工智能、系统编程、网络编程以及软件开发工具的创建。 2. **符号约定**: Lisp中的语法和约定有其独特性,例如,Lisp程序通常由一系列括号表示的列表构成,这些列表代表了函数调用和数据结构。此外,Lisp使用特殊的符号(如NIL和T)来表示逻辑值false和true。 3. **数据类型**: - **数字**:Lisp支持整数(Inegers)、有理数(Ratios)、浮点数(Floating-point Numbers)、复数(Complex Numbers)等。 - **字符**:包括标准字符(Standard Characters)、行分隔符(Line Division S)以及非标准字符(Non-standard Characters)。 - **字符属性**:每个字符可能具有特定的属性,如大小写、宽度等。 - **字符串**:字符串是由字符组成的数组,可以包含任意字符。 - **符号**(Symbols):它们在内存中具有唯一性,是Lisp中重要的数据结构,用于表示变量和函数名。 - **列表与Cons**:列表是由Cons细胞(Cons Cells)组成的数据结构,Cons细胞连接单个元素形成链表。 - **数组**:包括常规数组、向量(Vectors)、字符串(Strings)和位向量(Bit Vectors)。 - **哈希表**(Hash Tables):提供键值对存储,便于快速查找。 - **读表**(Readtables):控制字符和语法的解释方式。 - **包**(Packages):管理符号命名空间,防止符号冲突。 - **路径名**(Pathnames):用于指定文件和目录的结构。 - **流**(Streams):处理输入/输出,包括文件流、内存流等。 - **随机状态**(Random States):用于生成随机数。 - **结构体**(Structures):用户定义的复合数据类型。 4. **评估、展开与等价性**: Lisp程序的执行涉及到表达式的求值(Evaluation),其中函数调用和表达式求值的过程是相互关联的。同时,Lisp提供了宏系统,允许在编译时进行代码的展开,增强了语言的灵活性。 5. **错误处理**: Lisp中的错误处理机制允许程序在遇到问题时优雅地失败,通过条件表达式和恢复机制,开发者可以编写更健壮的代码。 6. **函数与其他实体的描述**: Lisp的文档字符串(Documentation Strings)为函数和其他实体提供了清晰的注释,便于理解和使用。 Common Lisp是一种功能强大且富有表现力的编程语言,它的丰富数据类型和高级特性使得它在解决复杂问题时表现出色。通过本书的阅读,读者将能深入理解Lisp的精髓,并掌握其编程技巧。

相关推荐