书籍使用《计算机程序的构造和解释》中文第二版。在线英文版点这里,排版更好的英文版点这里。
使用 DrRacket 开发环境,来测试编写 Scheme 代码。
- 序和前言
- 第1章 构造过程抽象
- 第2章 构造数据现象
- 第3章 模块化、对象和状态
- 第4章 元语言抽象
- 第5章 寄存器机器里的计算
我最初设想使用 Lua 完成书中代码和习题。Lua 和 Scheme 有点相似,而我也更熟悉 Lua 语言。使用 Lua 也可避免照抄书中代码。
第 1 章的代码和习题最开始使用 Lua 来完成,第 1 章所用到的 Scheme 特性,Lua 都有直接的对应。但到了第 2 章,发现 Lua 语言还不够灵活,缺少操作符号(Symbol)的能力,于是转回使用 Scheme。第 1 章的代码也改写到 Scheme,但保留 Lua 版本。
- 第1章 构造过程抽象(Lua 版本)
正常安装 DrRacket后,某些代码用到了 #lang sicp
,需要额外安装 sicp package。
打开 DrRacket, 选择 File -> Package Manager 菜单项。在 Do What I Mean
一栏输入 sicp
, 点击 Install。