haskell - 是什么阻碍了高效的 Haskell 虚拟机(如 JVM)?

标签 haskell jvm vm-implementation

我一直在想,是什么阻止了为 Haskell 开发像 JVM 或 PyPy 这样的高效虚拟机(也许开发工作除外)?是语言结构吗?我认为那些难以有效解释的语言(比如 Python,非常动态)已经有了不错的虚拟机。

此外,如果没有什么阻碍这样的实现,STG 是否会成为一个很好的目标“字节码”,因为所有优化都是在 Core 上完成的?

有没有讨论这个话题的文章或博客文章?

编辑:

  • 我知道 HaLVM ,但我不认为这是我的意思。
  • 我也知道 runhaskell ,但它根本没有效率。
  • 最佳答案

    是什么阻碍了高效的 Haskell 虚拟机?

    什么都没有——已经有一个,Daan Leijen 的 LVM。它的效率足以用于 Helium 的运行时系统(来自乌得勒支大学的 Haskell “教学语言”)。

    那就是说我不知道​​这些天是否在使用它,所以问题是“是什么阻止了高效的 Haskell 虚拟机?”可以回答为人力、持续投资等。当 Haskell 已经拥有一个好的编译器时,好的 VM 是一种奢侈,正如 Paulo Pinto 已经指出的那样。

    关于haskell - 是什么阻碍了高效的 Haskell 虚拟机(如 JVM)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9352744/

    相关文章:

    java - JVM字节码中的 "dup2_x2"指令有什么用?

    java - 将未导出/未打开的包添加到模块信息的 ModulePackages 的用例是什么?

    assembly - x86 最快的虚拟机设计是什么?

    java - 有效地在不同的虚拟机之间复制对象

    haskell - 如何在let绑定(bind)中添加类型注释

    haskell - simpel Haskell 列表按模式排序/洗牌

    Haskell 无法构造无限类型 : a0 = [a0]

    Java JIT编译器寄存器优化

    list - 需要解释基本的 do block 语法

    c - 带绳子的堆叠机