Haskell/Java 互操作的当前解决方案是什么?我看过 Meijer 和 Finne 关于 Lambada 的论文。有一个名为 GCJNI 的项目,但它似乎已失效——指向它的链接已损坏。有什么东西可以开箱即用吗?
问问题
2827 次
2 回答
11
使用GHC FFI,您可以创建一个从 Haskell 领域导出函数的共享库,然后 Java 可以通过JNA使用该库。或者,您可以使用相同的共享库并编写一些胶水代码以通过 JNI 公开它以获得更“Java-y”的接口。您也可以发疯,通过 FFI 向 Haskell 公开足够的 JNI,以真正启动您的 Java(这在某种程度上是 Lambada 论文所采用的方法)。
我相信 Haskell 共享库 + JNA 将是最简单、最简单的方法。这是假设向 Java 公开一些 Haskell 函数比向 Haskell 公开一些 Java 对象更容易。对于其他方向的一些见解,您可能对Salsa感兴趣,它是 C#,而不是 Java,但设计接口的原则可能会感兴趣。
于 2012-03-10T21:57:40.740 回答
1
不是真正的互操作,但您可以使用 http rest 或 zeromq
haskell 绑定:http ://www.zeromq.org/bindings:haskell
于 2012-03-11T07:04:30.183 回答