《*On Lisp*》不是一本 Lisp 的入门教材, 它更适合读过《*ANSI Common Lisp*》或者《*Practical Common Lisp*》的 Lisp 学习者。它对 Lisp 宏本身及其使用做了非常全面的说明, 同时自底向上的编程思想贯穿全书, 这也 是本书得名的原因, 即, 基于 Lisp , 扩展 Lisp 。
原作者 Paul Graham 同时也是《*ANSI Common Lisp*》一书的作者。
《*On Lisp*》成书早在 1994 年 ANSI Common Lisp 标准发布以前,书中使用了许多古老的 Lisp 操作符, 其中一些代码已经无法在最新的 Common Lisp 平台上执行了。所以译文里所有的源代码都被改成了符合现行 Common Lisp 标准的形式, 凡译者修改过的地方都会以脚注的形式注明。
我要特别感谢来自 AMD/ATI 的 KovChai 同学,他独立翻译了第 5,6,22,23,25 章及附录, 并对全书进行了细致的校对。另外 KovChai 还主导了本书的 LaTeX 排版工作。感谢 YufeiChen 同学提供改进排版的补丁。他还参与了第 21 章的翻译工作。
Mathematical Systems,Inc. 的 Lisp 程序员 JianshiHuang 同学是我最初翻译本书时的合作者, 他翻译了第 24 章, 并初步校对了本书前三章。
ChunTIAN(binghe)
NetEase.com,Inc.
tchaikov@gmail.com
cyfdecyf@gmail.com
jianshi.huang@gmail.com
binghe.lisp@gmail.com
- 封面
- 译者序
- 前言
- 第 1 章 可扩展语言
- 第 2 章 函数
- 第 3 章 函数式编程
- 第 4 章 实用函数
- 第 5 章 函数作为返回值
- 第 6 章 函数作为表达方式
- 第 7 章 宏
- 第 8 章 何时使用宏
- 第 9 章 变量捕捉
- 第 10 章 其他的宏陷阱
- 第 11 章 经典宏
- 第 12 章 广义变量
- 第 13 章 编译期计算
- 第 14 章 指代宏
- 第 15 章 返回函数的宏
- 第 16 章 定义宏的宏
- 第 17 章 读取宏(read-macro)
- 第 18 章 解构
- 第 19 章 一个查询编译器
- 第 20 章 续延(continuation)
- 第 21 章 多进程
- 第 22 章 非确定性
- 第 23 章 使用 ATN 分析句子
- 第 24 章 Prolog
- 第 25 章 面向对象的 Lisp
- 附录: 包(packages)