如何通过Java运行我的haskell函数

时间:2011-02-14 03:30:27

标签: java haskell

假设我在 math.hs

中有一个haskell函数 add

如何通过Java程序运行 add 函数并将输出存储为变量?

可能类似以下内容:

public int runHaskell(String haskellFile) {
    int output;
    //run add function from file 'math.hs' and store result to output
    return output;
}

(如果需要,我还可以访问目标文件: math.o 和解释程序文件 math.hi 以及可执行文件 main.exe 。)

3 个答案:

答案 0 :(得分:4)

简单(但笨拙)的方式:

Runtime.exec()

然后你可以听取Haskell程序的输出,然后解析它的结果。

或者,您可以为JNI编写一个小包装器,直接调用您的Haskell内容。

答案 1 :(得分:1)

您可以使用一些RPC框架,例如Apache Thrift,它支持C ++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和OCaml。

还有BERT-RPC client and server library for Haskell,但我不确定Java端口是否存在。

答案 2 :(得分:1)

这可能会有所帮助:http://www.haskell.org/haskellwiki/Applications_and_libraries/Interfacing_other_languages。还有Jaskell可以在JVM下运行您的整个源代码,允许您轻松连接。