Scheme 截至2016年,是否有支持100%R7R(小型)且无偏差的方案实施?

Scheme 截至2016年,是否有支持100%R7R(小型)且无偏差的方案实施?,scheme,lisp,implementation,r6rs,r7rs,Scheme,Lisp,Implementation,R6rs,R7rs,我愿意学习这个计划。我想坚持R7RS,因为它是最后一个标准。然而,在当前的方案实现中似乎存在很多碎片,并且大多数都停留在R5R或R6R的一部分 我发现唯一支持部分R7RS的是Kawa,但由于它在JVM上运行,它不支持尾部调用优化,这是该实现的一个优点 方案世界是否真的如此支离破碎,以至于R7RS还没有完全实现?我问,因为如果没有,一旦我赶上,我就计划建造一个;但是,如果真的存在,最好不要重新发明轮子,为特定的实施做出贡献 请,如果您有信息,我将感谢您不仅回答姓名,而且还提供适当的进一步信息(实施

我愿意学习这个计划。我想坚持R7RS,因为它是最后一个标准。然而,在当前的方案实现中似乎存在很多碎片,并且大多数都停留在R5R或R6R的一部分

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

方案世界是否真的如此支离破碎,以至于R7RS还没有完全实现?我问,因为如果没有,一旦我赶上,我就计划建造一个;但是,如果真的存在,最好不要重新发明轮子,为特定的实施做出贡献

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


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

R7RS小型语言(“R7RS小型语言”)委员会主席Alex Shinn,随着标准的发展而创建。我相信它是完全合规的。它是一个字节码编译器

具有基本(完全)兼容的R7RS模式,并编译为机器代码

我一直在玩的R7RS合规性的目标,是非常非常接近。它是一个字节码编译器

在委员会的维基上,旨在实现R7RS合规性的目标包括:

  • 赤壁
  • 鸡肉(部分)
  • 煽动
  • 粗俗的
  • 诡计(部分)
  • 外壳
  • 盗窃罪
  • 莫斯(部分)
  • 皮克林
  • 人马座

虽然问题明确排除了Racket作为非方案的考虑,但我将指出实现R7Rs的方案


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

我从上面的列表中找到了一些,但有许多自2015年(如Foment)或Gauche(2014)以来没有更新过。然而,赤壁似乎真的100%顺从。我会看一看,并在此基础上,选择您的答案。事实上,赤壁方案完全符合R7RS标准。此外,它还实施了多个SRFI,这使它成为现在的最佳选择,我希望在很长一段时间内都是如此。Gauche正在积极开发,并且已经符合R7RS标准,除了少数小案例。只是作者(我)懒得发布。事实上,盗窃罪声称支持R7R。但有两个警告:它目前只支持32位编程(它在64位操作系统和体系结构上运行,但处于32位模式),并且它是JIT而不是AOT编译器。(目前,唯一生成(优秀)可执行文件的Scheme编译器是Chez,不幸的是,它仍然停留在R6RS上。如果它移动到R7RS,它可能会使所有其他实现变得无关。)事实上,盗窃是一个AOT编译器,即使它不生成独立的可执行文件。这是一个措辞恰当、具体的,写得好,回答得好。然而:“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题因堆栈溢出而脱离主题,因为它们往往会吸引固执己见的答案和垃圾邮件。”此问题的答案将随着时间的推移而过时(即使您在问题中添加了“截至2016年”)和过时。这不是一个很好的“规范”的知识。在什么样的方式是球拍不再计划?严肃的问题:首先,英语是一种比日语更受欢迎的语言。第二,这个问题是在2015年提出的,我把我的问题限制在2016年。@kristianp很抱歉耽搁了。Scheme是一种启发了Racket的语言,但后来它演变成了自己的编程语言,尽管它的灵感来自Scheme等Lisps,但它甚至不再被视为它的一种方言。Racket现在是一种非常丰富和庞大的语言,您可以使用该语言的子集/集合,以符合不同的编程语言标准。例如,您可以使用sicp和sicp pict来遵守《计算机程序的结构和解释》一书中使用的MIT方案。