从 Java 中调用 Haskell 函数的最佳方式

2022-09-02 01:30:32

我正在寻找一种从Java程序中执行Haskell函数的有效方法。我考虑过使用exec()与GHC交互,但似乎应该有更好的方法。


答案 1

我通常避免使用JNI类型的方法跨运行时/语言进行链接。他们只是有太多的陷阱和很少的上升空间。我发现跨流程边界工作更容易。虽然我从未尝试过Haskell和Java,但它们都有支持XML RPC的库,这听起来很适合你正在做的事情。因此:将Haskell程序设置为“服务”,并在需要时调用其函数。


答案 2

我假设你知道如何从Java调用C?如果是这样,那么您可以按照 FFI 指南从 C 调用 Haskell,从 Java 调用 C,创建一个桥。这是一个本机调用,可能需要对链接器进行一些处理。

从C调用Haskell的详细信息如下:http://www.haskell.org/haskellwiki/Calling_Haskell_from_C

或者,您可以考虑使用 RPC 服务器。


推荐