2011-02-14 93 views
7

运行我的Haskell函数可以说我有一个Haskell功能添加math.hs我怎样才能通过Java

我怎样才能运行通过Java程序添加功能和输出作为存储一个变量?

也许像下面这样:

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以及可执行主.EXE

+0

这可能涉及到一些JNI的巧妙技巧。我很好奇看到答案是什么。 – templatetypedef 2011-02-14 03:32:10

+1

@templatetypedef我不明白这与使用JNI和C有什么不同(GHC可以生成中间C代码) – 2011-02-14 03:36:33

回答

4

最简单的(但很笨拙)方式:

Runtime.exec()

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

另外,你可以写一个JNI的小包装器,直接调用你的Haskell的东西。