web-dev-qa-db-ja.com

JVM上のHaskell?

HaskellをJVMで実行する方法(コンパイルまたは解釈)があるかどうか疑問に思っていますか?

SourceforgeにはJHaskellが存在しますが、これは空で死んでいるようです。

GHCはLLVMをコンパイラバックエンドとして使用します。 LLVMをJavaバイトコードにコンパイルするのは良い考えでしょうか、それとも可能ですか?それとも、別のコンパイラバックエンドを使用しますか?

80
jeha

Frege を調査することもできます。そのページからの引用:

「Fregeは、Haskellの精神に基づいた、厳密ではない純粋な関数型プログラミング言語です。」

「FregeプログラムはJavaにコンパイルされ、JVMで実行されます。」

言語仕様の短い閲覧に基づいて、FregeはほぼHaskellクローンのように見えます。おそらく「Haskellの精神で」というフレーズは、適切な期待を設定することを意図したものです。

77
Daniel Pratt

HaskellはJVM上で美しく機能します。 Eta 、タイプセーフJava interop.

20
rahulmutt

JVMでhaskellに近いとわかっている唯一の言語はCALです。 CALはhaskellに大きく基づいていますが、haskellのすべての機能を備えているわけではありません。型システムはHaskell 98に似ており、do表記のような構文糖が欠落しています。

HaskellとCALの比較は次のとおりです。 Haskellプログラマー向けCAL

Eclipseプラグインは非常に洗練されており、便利です。

CALはOpen Quarkフレームワークの一部であることに注意してください。

11
islon

JVMへのGHC構築には、大きくはあるが乗り越えられない障害があります。

http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F

(それを実現するために、1年か2年か?)

9
amindfv