【问题标题】:Haskell Java InteroperabilityHaskell Java 互操作性
【发布时间】:2012-03-10 21:05:37
【问题描述】:

Haskell/Java 互操作的当前解决方案是什么?我看过 Meijer 和 Finne 关于 Lambada 的论文。有一个名为 GCJNI 的项目,但它似乎已失效——指向它的链接已损坏。有什么东西可以开箱即用吗?

【问题讨论】:

标签: java haskell language-interoperability


【解决方案1】:

使用GHC FFI,您可以创建一个从Haskell 领域导出函数的shared library,然后Java 可以通过JNA 使用该函数。或者,您可以使用相同的共享库并编写一些胶水代码以通过 JNI 公开它以获得更“Java-y”的接口。您也可以发疯,通过 FFI 向 Haskell 公开足够的 JNI,以真正启动您的 Java(这在某种程度上是 Lambada 论文所采用的方法)。

我相信 Haskell 共享库 + JNA 将是最简单、最容易的方法。这是假设向 Java 公开一些 Haskell 函数比向 Haskell 公开一些 Java 对象更容易。对于其他方向的一些见解,您可能对Salsa 感兴趣,它是 C#,而不是 Java,但可能会对设计接口的原则感兴趣。

【讨论】:

  • 真正困难的部分是从 Java 代码自动生成 Haskell 接口。这方面有进展吗?
【解决方案2】:

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

http://www.zeromq.org/

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

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多