如何运行 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?
的简短回答
我是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?
的简短回答