Scheme 小阴谋家

Scheme 小阴谋家,scheme,racket,the-little-schemer,Scheme,Racket,The Little Schemer,我开始读《小阴谋家》,现在我们用的不是PLT,而是Racket。我想知道Racket是否适合做书中的练习,或者我是否需要另一个真正的Scheme编译器。在我忘记告诉你之前,我的操作系统是Windowsx64 这本书《语言与范式》足够复杂,我希望避免与编译器纠缠 事先非常感谢。球拍/方案可以互换。你应该能够用它回答任何练习。祝你好运 另外,我建议下载Dr.Racket作为您的翻译。DrRacket是DrScheme的(r)演变;DrRacket对《小阴谋家》中的练习非常有效。只是别忘了: 在语言对

我开始读《小阴谋家》,现在我们用的不是PLT,而是Racket。我想知道Racket是否适合做书中的练习,或者我是否需要另一个真正的Scheme编译器。在我忘记告诉你之前,我的操作系统是Windowsx64

这本书《语言与范式》足够复杂,我希望避免与编译器纠缠


事先非常感谢。

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

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

DrRacket是DrScheme的(r)演变;DrRacket对《小阴谋家》中的练习非常有效。只是别忘了:

  • 语言
    对话框中,选择“使用源代码中声明的语言”
  • 在创建的每个文件的顶部写入
    #lang racket
  • 在每个文件中实现
    atom?
    谓词,如本书开头所述
  • 如果要重新实现现有过程,请在单独的选项卡或窗口中执行,因为尝试在编辑窗口中重写过程将导致标识符的重复定义错误。如有必要,请使用多个文件保存过程定义

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

    您真的只需要
    atom?
    函数。本书前言中描述的内容基本上是:

    (define (atom? x)
      (and (not (pair? x)) (not (null? x))))
    
    如前所述,其应满足本试验要求:

    (atom? '()) ;=> #f
    
    请注意,中还有一个不满足该测试的定义

    关于
    atom?
    的更详细讨论如下

    尽管这本书建议实施
    add1
    sub1
    ,但Racket已经提供了它们


    顺便说一句,我用的是,但是。

    GraciasÓscar,你是阿根廷的阿布拉佐·德斯德。祝你兴高采烈!Acabo de editar mi respuesta,tiene varios提示adicionales para usar DrRacket con我一直在使用racket,但我注意到我必须更改所有示例以包含引用。就像你不能仅仅进入(咖啡杯、茶杯和希克杯),它必须是(咖啡杯、茶杯和希克杯),并带有前导引语;可能没有关系。我只是在寻找原子时偶然发现的?func。很容易尝试,但发现它不起作用,所以值得警告。