春暖花开 发表于 2016-7-2 23:19:11

ANSI Common Lisp 中文版

ANSI Common Lisp 中文版
前言
本书的目的是快速及全面的教你 Common Lisp 的有关知识。它实际上包含两本书。前半部分用大量的例子来解释 Common Lisp 里面重要的概念。后半部分是一个最新 Common Lisp 辞典,涵盖了所有ANSI Common Lisp 的操作符。


这本书面向的读者
ANSI Common Lisp 这本书适合学生或者是专业的程序员去读。本书假设读者阅读前没有 Lisp 的相关知识。有别的程序语言的编程经验也许对读本书有帮助,但也不是必须的。本书从解释 Lisp 中最基本的概念开始,并对于 Lisp 最容易迷惑初学者的地方进行特别的强调。
本书也可以作为教授 Lisp 编程的课本,也可以作为人工智能课程和其他编程语言课程中,有关 Lisp 部分的参考书。想要学习 Lisp 的专业程序员肯定会很喜欢本书所采用的直截了当、注重实践的方法。那些已经在使用 Lisp 编程的人士将会在本书中发现许多有用的实例,此外,本书也是一本方便的 ANSICommon Lisp 参考书。


如何使用这本书
ANSI Common Lisp 中文版 » 简体中文 »
学习 Lisp 最好的办法就是拿它来编程。况且在学习的同时用你学到的技术进行编程,也是非常有趣的一件事。编写本书的目的就是让读者尽快的入门,在对 Lisp 进行简短的介绍之后, 第 2 章开始用 21 页的内容,介绍了着手编写 Lisp 程序时可能会用到的所有知识。 3-9 章讲解了 Lisp 里面一些重要的知识点。这些章节特别强调了一些重要的概念,比如指针在 Lisp 中扮演的角色,如何使用递归来解决问题,以及第一级函数的重要性等等。针对那些想要更深入了解 Lisp 的读者: 10-14 章包含了宏、CLOS、列表操作、程序优化,以及一些更高级的课题,比如包和读取宏。15-17 章通过 3 个 Common Lisp 的实际应用,总结了之前章节所讲解的知识:一个是进行逻辑推理的程序,另一个是 HTML 生成器,最后一个是针对面向对象编程的嵌入式语言。本书的最后一部分包含了 4 个附录,这些附录应该对所有的读者都有用: 附录 A-D 包括了一个如何调试程序的指南, 58 个 Common Lisp 操作符的源程序,一个关于 ANSI Common Lisp 和以前的 Lisp 语言区别的总结,以及一个包括所有 ANSI Common Lisp 的参考手册。
本书还包括一节备注。这些备注包括一些说明,一些参考条目,一些额外的代码,以及一些对偶然出现的不正确表述的纠正。备注在文中用一个小圆圈来表示,像这样:○

简体中文
前言
这本书面向的读者
如何使用这本书
代码
On Lisp
鸣谢
第一章:简介
1.1 新的工具 (New Tools)
1.2 新的技术 (New Techniques)
1.3 新的方法 (New Approach)
第二章:欢迎来到 Lisp
2.1 形式 (Form)
2.2 求值 (Evaluation)
2.3 数据 (Data)
2.4 列表操作 (List Operations)
2.5 真与假 (Truth)
2.6 函数 (Functions)
2.7 递归 (Recursion)
2.8 阅读 Lisp (Reading Lisp)
ANSI Common Lisp 中文版 »
2.9 输入输出 (Input and Output)
2.10 变量 (Variables)
2.11 赋值 (Assignment)
2.12 函数式编程 (Functional Programming)
2.13 迭代 (Iteration)
2.14 函数作为对象 (Functions as Objects)
2.15 类型 (Types)
2.16 展望 (Looking Forward)
Chapter 2 总结 (Summary)
Chapter 2 习题 (Exercises)
第三章:列表
3.1 构造 (Conses)
3.2 等式 (Equality)
3.3 为什么 Lisp 没有指针 (Why Lisp Has No Pointers)
3.4 建立列表 (Building Lists)
3.5 示例:压缩 (Example: Compression)
3.6 存取 (Access)
3.7 映射函数 (Mapping Functions)
3.8 树 (Trees)
3.9 理解递归 (Understanding Recursion)
3.10 集合 (Sets)
3.11 序列 (Sequences)
3.12 栈 (Stacks)
3.13 点状列表 (Dotted Lists)
3.14 关联列表 (Assoc-lists)
3.15 示例:最短路径 (Example: Shortest Path)
3.16 垃圾 (Garbages)
Chapter 3 总结 (Summary)
Chapter 3 习题 (Exercises)
第四章:特殊数据结构
4.1 数组 (Array)
4.2 示例:二叉搜索 (Example: Binary Search)
4.3 字符与字串 (Strings and Characters)
4.4 序列 (Sequences)
4.5 示例:解析日期 (Example: Parsing Dates)
4.6 结构 (Structures)
4.7 示例:二叉搜索树 (Example: Binary Search Tree)
4.8 哈希表 (Hash Table)
Chapter 4 总结 (Summary)
Chapter 4 习题 (Exercises)
第五章:控制流
5.1 区块 (Blocks)
5.2 语境 (Context)
5.3 条件 (Conditionals)
5.4 迭代 (Iteration)
5.5 多值 (Multiple Values)
5.6 中止 (Aborts)
5.7 示例:日期运算 (Example: Date Arithmetic)
Chapter 5 总结 (Summary)
Chapter 5 练习 (Exercises)
第六章:函数
6.1 全局函数 (Global Functions)
6.2 局部函数 (Local Functions)
6.3 参数列表 (Parameter Lists)
6.4 示例:实用函数 (Example: Utilities)
6.5 闭包 (Closures)
6.6 示例:函数构造器 (Example: Function Builders)
6.7 动态作用域 (Dynamic Sc ope)
6.8 编译 (Compilation)
6.9 使用递归 (Using Recursion)
Chapter 6 总结 (Summary)
Chapter 6 练习 (Exercises)
第七章:输入与输出
7.1 流 (Streams)
7.2 输入 (Input)
7.3 输出 (Output)
7.4 示例:字串代换 (Example: String Substitution)
7.5 宏字符 (Macro Characters)
Chapter 7 总结 (Summary)
Chapter 7 练习 (Exercises)
第八章:符号
8.1 符号名 (Symbol Names)
8.2 属性列表 (Property Lists)
8.3 符号很不简单 (Symbols Are Big)
8.4 创建符号 (Creating Symbols)
8.5 多重包 (Multiple Packages)
8.6 关键字 (Keywords)
8.7 符号与变量 (Symbols and Variables)
8.8 示例:随机文本 (Example: Random Text)
Chapter 8 总结 (Summary)
Chapter 8 练习 (Exercises)
第九章:数字
9.1 类型 (Types)
9.2 转换及取出 (Conversion and Extraction)
9.3 比较 (Comparison)
9.4 算术 (Arithematic)
9.5 指数 (Exponentiation)
9.6 三角函数 (Trigometric Functions)
9.7 表示法 (Representations)
9.8 范例:追踪光线 (Example: Ray-Tracing)
Chapter 9 总结 (Summary)
Chapter 9 练习 (Exercises)
第十章:宏
10.1 求值 (Eval)
10.2 宏 (Macros)
10.3 反引号 (Backquote)
10.4 示例:快速排序法(Example: Quicksort)
10.5 设计宏 (Macro Design)
10.6 通用化引用 (Generalized Reference)
10.7 示例:实用的宏函数 (Example: Macro Utilities)
10.8 源自 Li sp (On Lisp)
Chapter 10 总结 (Summary)
Chapter 10 练习 (Exercises)
第十一章:Common Lisp 对象系统
11.1 面向对象编程 Object-Oriented Programming
11.2 类与实例 (Class and Instances)
11.3 槽的属性 (Slot Properties)
11.4 基类 (Superclasses)
11.5 优先级 (Precedence)
11.6 通用函数 (Generic Functions)
11.7 辅助方法 (Auxiliary Methods)
11.8 方法组合机制 (Method Combination)
11.9 封装 (Encapsulation)
11.10 两种模型 (Two Models)
Chapter 11 总结 (Summary)
Chapter 11 练习 (Exercises)
第十二章:结构
12.1 共享结构 (Shared Structure)
12.2 修改 (Modification)
12.3 示例:队列 (Example: Queues)
12.4 破坏性函数 (Destructive Functions)
12.5 示例:二叉搜索树 (Example: Binary Search Trees)
12.6 示例:双向链表 (Example: Doubly-Linked Lists)
12.7 环状结构 (Circular Structure)
12.8 常量结构 (Constant Structure)
Chapter 12 总结 (Summary)
Chapter 12 练习 (Exercises)
第十三章:速度
13.1 瓶颈规则 (The Bottleneck Rule)
13.2 编译 (Compilation)
13.3 类型声明 (Type Declarations)
13.4 避免垃圾 (Garbage Avoidance)
13.5 示例: 存储池 (Example: Pools)
13.6 快速操作符 (Fast Operators)
13.7 二阶段开发 (Two-Phase Development)
Chapter 13 总结 (Summary)
Chapter 13 练习 (Exercises)
第十四章:进阶议题
14.1 类型标识符 (Type Specifiers)
14.2 二进制流 (Binary Streams)
14.3 读取宏 (Read-Macros)
14.4 包 (Packages)
14.5 Loop 宏 (The Loop Facility)
14.6 状况 (Conditions)
第十五章:示例:推论
15.1 目标 (The Aim)
15.2 匹配 (Matching)
15.3 回答查询 (Answering Queries)
15.4 分析 (Analysis)
第十六章:示例:生成 HTML
16.1 超文本标记语言 (HTML)
16.2 HTML 实用函数 (HTML Utilities)
16.3 迭代式实用函数 (An Iteration Utility)
16.4 生成页面 (Generating Pages)
第十七章:示例:对象
17.1 继承 (Inheritance)
17.2 多重继承 (Multiple Inheritance)
17.3 定义对象 (Defining Objects)
17.4 函数式语法 (Functional Syntax)
17.5 定义方法 (Defining Methods)
17.6 实例 (Instances)
17.7 新的实现 (New Implementation)
17.8 分析 (Analysis)
附录 A:调试
中断循环 (Breakloop)
追踪与回溯 (Traces and Backtraces)
当什么事都没发生时 (When Noting Happens)
没有值或未绑定 (No Value/Unbound)
意料之外的 Nil (Unexpected Nils)
重新命名 (Renaming)
作为选择性参数的关键字 (Keywords as Optional Parameters)
错误声明 (Misdeclarations)
警告 (Warnings)
附录 B:Lisp in Lisp
附录 C:Common Lisp 的改变
附录 D:语言参考手册
备注
备注 viii (Notes viii)
备注 1 (Notes 1)
备注 3 (Notes 3)
备注 4 (Notes 4)
备注 5 (Notes 5)
备注 5-2 (Notes 5-2)
备注 12 (Notes 12)
备注 17 (Notes 17)
备注 26 (Notes 26)
备注 28 (Notes 28)
备注 46 (Notes 46)
备注 61 (Notes 61)
备注 62 (Notes 62)
备注 76 (Notes 76)
备注 81 (Notes 81)
备注 84 (Notes 84)
备注 89 (Notes 89)
备注 91 (Notes 91)
备注 94 (Notes 94)
备注 95 (Notes 95)
备注 100 (Notes 100)
备注 100-2 (Notes 100-2)
备注 106 (Notes 106)
备注 109 (Notes 109)
备注 109-2 (Notes 109-2)
备注 112 (Notes 112)
备注 123 (Notes 123)
备注 125 (Notes 125)
备注 141 (Notes 141)
备注 141-2 (Notes 141-2)
备注 150 (Notes 150)
备注 164 (Notes 164)
备注 173 (Notes 173)
备注 176 (Notes 176)
备注 178 (Notes 178)
备注 183 (Notes 183)
备注 191 (Notes 191)
备注 204 (Notes 204)
备注 213 (Notes 213)
备注 214 (Notes 214)
备注 216 (Notes 216)
备注 217 (Notes 217)
备注 218 (Notes 218)
备注 219 (Notes 219)
备注 224 (Notes 224)
备注 226 (Notes 229)
备注 229 (Notes 229)
备注 230 (Notes 230)
备注 239 (Notes 239)
备注 242 (Notes 242)
备注 248 (Notes 248)
备注 273 (Notes 273)
备注 276 (Notes 276)
备注 284 (Notes 284)
备注 284-2 (Notes 284-2)
备注 399 (Notes 399)




页: [1]
查看完整版本: ANSI Common Lisp 中文版