Bar*_*ski 13 java haskell language-interoperability
Haskell/Java互操作的当前解决方案是什么?我在Meijer和Finne看过关于Lambada的论文.有一个名为GCJNI的项目,但它似乎已经不存在了 - 它的链接被打破了.有没有可以开箱即用的东西?
使用GHC FFI,您可以创建一个从Haskell域导出函数的共享库,然后Java可以通过JNA使用.或者,您可以使用相同的共享库并编写一些粘合代码,以通过JNI公开它以获得更多"Java-y"接口.您也可以通过FFI将足够的JNI暴露给Haskell以真正使用Java(这有点是Lambada论文所采用的方法).
我相信Haskell共享lib + JNA将是最简单,最简单的方法.这假设将一些Haskell函数暴露给Java比将一些Java对象暴露给Haskell更容易.对于走向另一个方向的一些见解,您可能对Salsa感兴趣,它是C#,而不是Java,但设计接口的原则可能是有意义的.