JVM 上的 Haskell?
我想知道是否有某种方法可以让 Haskell 在 JVM 上运行(编译或解释)?
Sourceforge 上有 JHaskell,但这个似乎是空的并且死了。
GHC 使用 LLVM 作为编译器后端。将 LLVM 编译为 Java 字节码是一个好主意还是可能?或者也许使用不同的编译器后端?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可能想研究Frege。引用该页面:
根据对语言规范的简要阅读,Frege 看起来几乎是 Haskell 的克隆。也许“本着 Haskell 的精神”这句话只是为了设定适当的期望。
You may want to investigate Frege. Quoting from that page:
Based on a brief perusal of the language specification, Frege looks to be nearly a Haskell clone. Perhaps the phrase "in the spirit of Haskell" is simpy intended to set the proper expectation.
Haskell 在 JVM 上运行得很好。请参阅 Eta,该项目通过类型安全的 Java 互操作将完整的 GHC 7.10.3 Haskell 引入 JVM。
Haskell works beautifully on the JVM. See Eta, a project that brings full GHC 7.10.3 Haskell onto the JVM with type-safe Java interop.
我所知道的唯一在 JVM 中与 haskell 接近的语言是 CAL。 CAL 很大程度上基于 Haskell,但它并不具备 Haskell 的所有功能。类型系统与 Haskell 98 类似,并且缺少像
do
表示法这样的语法糖。下面是 Haskell 和 CAL 的比较: 针对 Haskell 程序员的 CAL
eclipse 插件非常精致且有用。
请注意,CAL 是 Open Quark 框架的一部分。
The only language I know that is close to haskell in the JVM is CAL. CAL is heavily based on haskell but it doesn't have all haskell's features. The type system is similar to Haskell 98, and syntactic sugar like
do
notation is missing.Here's a comparison of Haskell and CAL: CAL for Haskell Programmers
The eclipse plugin is very polished and useful.
Note that CAL is part of the Open Quark framework.
将 GHC 构建到 JVM 有一些很大但可以克服的障碍:
http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM。 3F
(有一两年的空闲时间来实现它?)
There are big but surmountable impediments to GHC building to the JVM:
http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F
(Got a spare year or two to make it happen?)