《*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)