Haskell/Java互操作的当前解决方案是什么?我看过Meijer和Finne关于Lambada的论文。有一个名为GCJNI的项目,但它似乎已经不存在了--它的链接被破坏了。有没有开箱即用的东西?
发布于 2012-03-11 05:57:41
使用GHC FFI,您可以创建一个从Haskell导出函数的shared library,然后Java可以通过JNA使用它。或者,您也可以使用这个相同的共享库,并编写一些粘合代码,通过JNI将其公开为一个更"Java-y“的接口。您也可以疯狂地通过FFI向Haskell公开足够的JNI,以真正启动Java (这在某种程度上就是Lambada论文所采用的方法)。
我相信Haskell共享库+ JNA将是最简单、最容易的方法。这是假设向Java公开一些Haskell函数比向Haskell公开一些Java对象更容易。如果想深入了解另一个方向,您可能会对Salsa感兴趣,它是C#,而不是Java,但是设计接口的原则可能会引起您的兴趣。
发布于 2012-03-11 15:04:30
不是真正的互操作,但您可以使用http rest或zeromq。
http://www.zeromq.org/
哈斯克尔绑定:http://www.zeromq.org/bindings:haskell
https://stackoverflow.com/questions/9650183
复制相似问题