【发布时间】:2012-07-12 14:22:32
【问题描述】:
任何人都知道racket/base 语言中包含什么。我希望将racket/base 命名空间定义与 R7RS 草案进行比较,以第一手了解 Racket 与 Scheme 的不同之处。
【问题讨论】:
任何人都知道racket/base 语言中包含什么。我希望将racket/base 命名空间定义与 R7RS 草案进行比较,以第一手了解 Racket 与 Scheme 的不同之处。
【问题讨论】:
区别将是巨大的,就像任何其他实际的 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 与 Racket 进行比较,因此只需浏览整个参考资料以了解可用的内容可能会很有用。
【讨论】: