小Schemer和球拍

时间:2012-10-22 01:14:56

标签: scheme racket the-little-schemer

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

书,语言和范例足够复杂,我希望避免与编译器挣扎。

提前多多感谢。

4 个答案:

答案 0 :(得分:22)

DrRacket是DrScheme的(r)演变; DrRacket将完美地用于“The Little Schemer”中的练习。别忘了:

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

答案 1 :(得分:3)

你真的只需要atom?功能。本书序言中描述的内容基本上是:

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

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

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

请注意,Racklog中还有一个定义,将无法满足该测试

关于atom?的更详细讨论是here

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

顺便说一句,我使用Vim for editing Racket,但a few other editors are capable

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

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