14

Haskell/Java 相互運用の現在のソリューションは何ですか? Meijer と Finne による Lambada に関する論文を見たことがあります。GCJNI というプロジェクトがありますが、現在は機能していないようです。リンクが壊れています。箱から出して使用できるものはありますか?

4

2 に答える 2

11

GHC FFIを使用すると、Java がJNA経由で使用できる Haskell ランドから関数をエクスポートする共有ライブラリを作成できます。別の方法として、この同じ共有ライブラリを使用して、グルー コードを作成し、JNI を介してそれを公開して、より「Java-y」なインターフェイスにすることもできます。FFI を介して十分な JNI を Haskell に公開し、実際に Java を使用することもできます (これは、Lambada の論文が採用しているアプローチの一部です)。

Haskell 共有 lib + JNA が最も単純で簡単な方法だと思います。これは、一部の Java オブジェクトを Haskell に公開するよりも、いくつかの Haskell 関数を Java に公開する方が簡単であると想定しています。他の方向に進むための洞察については、Java ではなく C# であるSalsaに興味があるかもしれませんが、インターフェースを設計する際の原則は興味深いかもしれません。

于 2012-03-10T21:57:40.740 に答える
1

実際には相互運用性はありませんが、http rest または zeromq を使用できます

http://www.zeromq.org/

haskell バインディング: http://www.zeromq.org/bindings:haskell

于 2012-03-11T07:04:30.183 に答える