1

我用 Java 编写了一个Scheme 评估器,它执行了一些并行化技巧。目前除了我以外的任何人都无法使用它,但我得到了一些结果。

前端和中端对于我的目的来说还可以,是我想要专注的部分,但我的后端很糟糕。它未经优化,速度缓慢或缺乏适当的尾调用优化。

因此,我想针对现有的虚拟机。有人知道这个候选人吗?它不一定是企业级虚拟机,但至少应该

  • (相对)容易从 Scheme 中定位
  • (合理地)便携
  • 开箱即用地支持并行结构
4

4 回答 4

2

如果你能让你的 Scheme 在Erlang VM 上编译和运行,那就太好了。人们已经在认真考虑这一点,并且有一个项目可以反过来做

于 2010-12-08T17:02:35.113 回答
2

Microsoft CLR/.NET VM 支持并行性并具有尾调用指令。Mono 实现是免费软件并且非常便携。

或者,您可以定位Racket,它支持并行构造,并且可以很容易地从您的 Scheme 系统中定位。

于 2010-12-08T13:31:20.313 回答
1

Dybvig 的Scheme 三种实现模型提供了一个非常简单的基于堆的编译器/虚拟机实现,并具有适当的延续和尾调用优化支持。代码在 Scheme 但很容易翻译。我用它在 Javascript中实现Scheme 。

于 2010-12-08T19:21:51.153 回答
0

另一个明显的目标 VM 是 Java VM,它为您带来了 Hotspot JITter 的额外优势以及与其他 Java 程序的互操作性。

Bigloo 将 Scheme 编译为 Java VM 字节码或 .NET cil。

于 2010-12-08T20:22:22.157 回答