【问题标题】:racket/base namespace球拍/基础命名空间
【发布时间】:2012-07-12 14:22:32
【问题描述】:

任何人都知道racket/base 语言中包含什么。我希望将racket/base 命名空间定义与 R7RS 草案进行比较,以第一手了解 Racket 与 Scheme 的不同之处。

【问题讨论】:

    标签: scheme racket r7rs


    【解决方案1】:

    区别将是巨大的,就像任何其他实际的 Scheme 实现一样。给你一个粗略的想法,我看到来自 racket/base 的 1300 多个标识符,而 racket 上升到 2000 多个。另外,请注意,比较名称并不是全部——还有其他差异,就像 Racket 默认使用不可变对的事实,以及保证从左到右的评估顺序这一事实。

    为前者自己获取列表的快速方法是确保安装了XREPL(让你的~/.racketrc文件包含(require xrepl)),然后使用racket/base作为REPL语言启动Racket,并使用不带参数的,ap (apropos) 命令,以便向您显示所有绑定名称:

    $ racket -I racket/base
    Welcome to Racket v5.2.1.
    -> ,ap
    

    要了解这些名称,您可以使用,doc 命令,或者只使用文档中的search box

    【讨论】:

    • 直截了当的回答,顺便说一句,r7rs 草稿看起来像是一门实用的语言。
    • “实用”是一个相对术语...它比 r5rs 更实用,但它不会有线程、子进程、网络、非阻塞 IO 和无数其他东西,所以区别很大。即使是大语言也不会有所有这些。
    【解决方案2】:

    根据The Racket Reference

    除非另有说明,否则本手册中定义的绑定由球拍/底座和球拍语言导出。

    不幸的是,这并不是很有帮助,因为它是一本大型参考手册。但是,由于您将 R7RS 与 Racket 进行比较,因此只需浏览整个参考资料以了解可用的内容可能会很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 2011-07-16
      • 2011-08-22
      • 2017-12-10
      • 1970-01-01
      相关资源
      最近更新 更多