支持并行化的Scheme VM

发布于 2024-10-06 13:35:37 字数 326 浏览 3 评论 0原文

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

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

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

  • 可移植
  • (相对)容易从方案中定位是(合理)
  • 的,支持开箱即用的并行构造

I have written a Scheme evaluator in Java that does some parallelisation tricks. It's not usable by anyone but me for the moment, but I'm getting some results.

The frontend and middle-end are ok for my purposes and are the parts that I want to concentrate on, but my backend sucks. It is unoptimized and is slow or lacks proper tail-call optimization.

So instead I want to target an existing VM. Does anyone know a candidate for this? It doesn't have to be an enterprise-ready VM but at least it should

  • be (relatively) easy to target from Scheme
  • be (reasonably) portable
  • support parallel constructs out of the box

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

書生途 2024-10-13 13:35:37

如果你能让你的Scheme在 Erlang VM 上编译和运行,那就太好了。人们已经认真思考这个问题一个相反的项目

If you could get your Scheme to compile and run on the Erlang VM, that will be great. Already people are thinking seriously about this and there is a project that does the reverse.

没有心的人 2024-10-13 13:35:37

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

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

The Microsoft CLR/.NET VM supports parallelism and has a tail-call instruction. The Mono implementation is free software and quite portable.

Alternatively, you could target Racket, which supports parallel constructs and would make it very easy to target from your Scheme system.

﹏半生如梦愿梦如真 2024-10-13 13:35:37

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

Dybvig's Three Implementation Models For Scheme provides a very straightforward heap-based compiler/vm implementation with proper continuation and tail-call-optimization support. The code is in Scheme but it's easily translatable. I used it to implement Scheme in Javascript.

可是我不能没有你 2024-10-13 13:35:37

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

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

The other obvious VM to target is the Java VM, which brings you the added advantages of the Hotspot JITter and interoperability with other Java programs.

Bigloo compiles Scheme to Java VM bytecode or thr .NET cil.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文