如何运行 repl中SICP/scheme的图片语言示例?

How to run Picture language examples of SICP /scheme in repl?

我是SICP. I'm reading section 2.2.4图片语言的初学者。我坚持它的例子。我不明白,如何运行这些例子?

如书中所述,wave 应该是一个原始过程。但是当我尝试执行它时,REPL 抛出一个错误,如下所示

1 ]=> wave

;Unbound variable: wave

类似地,当我尝试执行本节的第一个示例时,REPL 抛出错误

1 ]=> (define wave2 (beside wave (flip-vert wave)))

;Unbound variable: wave

没看懂,怎么了?任何帮助,将不胜感激。谢谢。

DrRacket IDE there is a 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?

的简短回答