Haskell Java Interoperability
2022-09-04 03:36:02
目前对 Haskell/Java 互操作的解决方案是什么?我看过Meijer和Finne关于Lambada的论文。有一个名为GCJNI的项目,但它似乎已经失效 - 与它的链接被破坏了。有没有可以开箱即用的东西?
目前对 Haskell/Java 互操作的解决方案是什么?我看过Meijer和Finne关于Lambada的论文。有一个名为GCJNI的项目,但它似乎已经失效 - 与它的链接被破坏了。有没有可以开箱即用的东西?
使用GHC FFI,您可以创建一个从Haskell land导出函数的共享库,然后Java可以通过JNA使用。或者,您可以使用相同的共享库并编写一些胶水代码,以通过JNI公开它,以获得更“Java-y”的接口。你也可以发疯,通过FFI向Haskell公开足够的JNI,以真正让你的Java(这在某种程度上是Lambada论文采取的方法)。
我相信 Haskell 共享 lib + JNA 将是最简单、最简单的方法。这是假设向Java公开一些Haskell函数比向Haskell公开一些Java对象更容易。对于另一个方向的一些见解,你可能对Salsa感兴趣,它是C#,而不是Java,但设计接口的原则可能会很有趣。