(a) 这些当时运行在什么 Scheme 系统上
来自作者网站的源 tarball中的 Makefile具有在 bigloo、elk、gambit、mit-scheme、scheme2c 和 scm 下运行代码的目标。
Makefile 提到 SCM 4e1 和 Bigloo 1.9d 是已知的工作版本,尽管我自己没有测试过它们。我没有发现任何提及其他方案的特定版本。
(b) 这些今天将在什么 Scheme 系统上运行?
此 github 存储库中的代码已更新,因此包含的测试套件中的几乎所有测试都通过了当前(截至 06/2014)版本的 bigloo、gambit 和 mit-scheme。
如果您只想能够运行代码并按照本书进行操作,那么其中一种方案应该适合您。
[完全披露:我是回购的所有者,我是计划菜鸟。repo 中的代码是WOMM认证的,但你的里程可能会有所不同。]
另一方面,如果你不满足于使用 bigloo / gambit / mit-scheme,那么在这里添加对 guile / racket / insert-favorite-scheme-scheme 的支持应该不会太难。使用其中一个book.*
文件作为起点,例如gambit/book.scm
或mitscheme/book.mit
. 如果您可以book.scm
在您喜欢的方案中加载一个版本,然后查看test.interpreters
make 目标,最后查看grand.test
目标以验证事情是否按预期工作。