阅读SICP时要使用哪种翻译?

时间:2014-08-01 19:23:53

标签: scheme sicp

我正在http://mitpress.mit.edu/sicp/

阅读SICP书籍

要运行我应该使用解释器的示例代码吗?

我考虑过Eclipse的蒲公英Lisp插件:http://sourceforge.net/projects/dandelion-ecl/

还考虑了Windows http://www.gnu.org/software/mit-scheme/

的方案

我应该使用哪一个?

阅读这个问题似乎我应该使用Scheme? :What are the actual differences between Scheme and Common Lisp? (Or any other two dialects of Lisp)

如果是,http://www.gnu.org/software/mit-scheme/就足够了吗?

2 个答案:

答案 0 :(得分:3)

MIT-scheme应该可以运行,具体取决于您的操作系统,但它不是一个非常棒的界面。 Racket是一个非常流行的Lisp-y事物解释器,并且确实存在一个试图实现SICP方案的Racket package。它并不完美,但它是我过去用于SICP的东西,而且你在解释器上的战斗要比用MIT方案少得多。

答案 1 :(得分:1)

DrRacket IDE中有一个SICP compatibility language。使用DrRacket有助于格式化代码,识别错误并且它具有调试器。它还支持标准Scheme以及它自己的方言,racket,它非常相似,但有很多像现代语言一样的库。

安装(安装DrRacket之后)

从终端运行:

raco pkg install sicp

你得到了很多输出,也许还有一些警告。重新启动DrRacket并将#lang racket替换为#lang sicp。要使图片语言添加(#%require sicp-pict),因此这个示例应该可以正常工作:

#lang sicp
(#%require sicp-pict)

(paint-hires  (below (beside diagonal-shading
                             (rotate90 diagonal-shading))
                     (beside (rotate270 diagonal-shading)
                             (rotate180 diagonal-shading))))

这是对Which lang packet is proper for SICP in Dr.Racket?

的答案的简短版本