Haskell Java互操作性

时间:2012-03-10 21:05:37

标签: java haskell language-interoperability

Haskell / Java互操作的当前解决方案是什么?我在Meijer和Finne看过关于Lambada的论文。有一个名为GCJNI的项目,但它似乎已经不存在了 - 它的链接被打破了。是否可以开箱即用?

2 个答案:

答案 0 :(得分:9)

使用GHC FFI,您可以创建一个从Haskell域导出函数的shared library,然后Java可以通过JNA使用。或者,您可以使用相同的共享库并编写一些粘合代码,以通过JNI公开它以获得更多“Java-y”接口。您也可以通过FFI将足够的JNI暴露给Haskell以真正使用Java(这有点是Lambada论文所采用的方法)。

我相信Haskell共享lib + JNA将是最简单,最简单的方法。这假设将一些Haskell函数暴露给Java比将一些Java对象暴露给Haskell更容易。对于走向另一个方向的一些见解,您可能对Salsa感兴趣,它是C#,而不是Java,但设计接口的原则可能会引起关注。

答案 1 :(得分:1)

不是真正的互操作,但你可以使用http rest或zeromq

http://www.zeromq.org/

haskell绑定:http://www.zeromq.org/bindings:haskell