26

我开始阅读 Little Schemer,现在我们有 Racket,而不是 PLT Scheme。我想知道 Racket 是否适合做书中的练习,还是我需要另一个真正的 Scheme 编译器。在我忘记告诉你之前,我的操作系统是 Windows x64。

这本书、语言和范式足够复杂,我很想避免与编译器打交道。

提前非常感谢。

4

4 回答 4

32

DrRacket 是 DrScheme 的 (r) 演变;DrRacket 非常适合“The Little Schemer”中的练习。只是不要忘记:

  1. Language对话框中,选择“使用源中声明的语言”
  2. #lang racket在您创建的每个文件的顶部
  3. atom?如本书开头所述,在每个文件中实现谓词
  4. 如果要重新实现现有过程,请在单独的选项卡或窗口中执行此操作,因为尝试在编辑窗口中重写过程会导致duplicate definition for identifier错误。如有必要,使用多个文件来保存过程定义
于 2012-10-22T01:39:03.990 回答
7

你真的只需要这个atom?功能。本书前言中的描述基本上是:

(define (atom? x)
  (and (not (pair? x)) (not (null? x))))

如前所述,它应该满足这个测试:

(atom? '()) ;=> #f

请注意, Racklog中还有一个定义不能满足该测试

更详细的讨论atom?here

尽管本书建议实施add1and sub1,但 Racket确实已经提供了它们。

顺便说一句,我使用Vim 来编辑 Racket,但其他一些编辑器也可以

于 2015-08-19T18:24:01.130 回答
6

我有这本书的作者当教授。他现在自己使用 Racket,但他使用 Emacs 作为文本编辑器。

于 2014-07-11T12:58:56.810 回答
1

球拍/方案是可互换的。你应该能够用它来回答任何练习。祝你好运。

另外,我建议下载 Dr. Racket 作为您的翻译。

于 2012-10-22T01:18:47.047 回答