24

我愿意学习Scheme。我想坚持使用 R7RS,因为它是最后一个标准。但是,Scheme 当前的实现似乎存在很多碎片,其中大多数停留在 R5RS 或 R6RS 的一部分。

我发现唯一支持 R7RS 部分的是 Kawa,但由于它在 JVM 上运行,它不支持尾调用优化,这是反对该实现的一个强项。

Scheme 世界真的那么支离破碎,甚至还没有 R7RS 的完整实现吗?我在问,因为如果没有,一旦我赶上,我就打算建一个;但是,如果存在的话,最好不要重新发明轮子并为该特定实施做出贡献。

请,如果您有信息,我将不胜感激,不仅可以回答姓名,还可以提供适当的进一步信息(实施的官方网站,甚至邮件组的摘录都可以作为参考)。

顺便说一句,我不考虑 Racket,因为它不再是真正的 Scheme。

4

2 回答 2

24

随着标准的发展,R7RS Small Language(“ Working Group 1 ”)委员会主席 Alex Shinn 创建了Chibi 方案。我相信它是完全合规的。它是一个字节码编译器。

Larceny具有大部分(完全?)兼容的 R7RS 模式,并编译为机器代码。

我一直在玩旨在符合R7RS的 Picrin,并且非常接近。它是一个字节码编译器。

在委员会的 wiki 上针对 R7RS 合规性的实现列表包括:

  • 赤壁
  • 鸡肉(部分)
  • 左撇子
  • 诡计(部分)
  • 果壳
  • 卡瓦
  • 盗窃罪
  • 莫什(部分)
  • 苦味素
  • 射手座
于 2016-02-03T00:51:16.737 回答
7

尽管这个问题明确排除了 Racket 不是方案,但我会指出Racket 包“R7RS”,它实现了 R7R 小。

项目页面上记录了一些小的不兼容性。

于 2016-09-05T15:24:06.170 回答