把 Haskell 编译到 JVM 上跑:Turbo Haskell
来源:comonad.com — 179 分 · by pjmlp
📋 概述
Edward Kmett 度假时以玩笑心态开写的 THC(Turbo Haskell),如今实现了 GHC 9.14.1 的全部 prim-ops,并提供把 GHC Core 编译到 JVM 上运行的 JIT。它沿用作者当年在 Cadenza 里用 Truffle 与 GraalVM 运行类型化函数式语言的思路,还支持用 Native Image 做 AOT 编译出可执行文件。
🔑 核心要点
- THC 实现了 GHC 9.14.1 的每一个 prim-op,并为 GHC Core 提供 JVM 上的 JIT。
- 解析、类型检查、脱糖与 Core 优化仍由 GHC 负责,THC 从 Core 之后接手。
- 基于 Truffle 与 GraalVM,沿用作者在 Cadenza 中的思路。
- 借助多语言 FFI,可以从 Python、Ruby、R、JavaScript 借用库,Text 与字符串转换是零拷贝。
- 已能编译运行 pandoc、happy、alex,甚至 GHC 自身。
💡 金句
THC 现在实现了 GHC 9.14.1 的每一个 prim-op,并提供一个 JIT,让 Haskell 跑在 JVM 上。
👍 0
👎 0
← 返回 Hacker News 首页