【发布时间】:2013-12-09 15:22:26
【问题描述】:
我正在尝试创建一个程序来比较各种 haskell 脚本运行所需的时间,稍后将用于创建图形并显示在 GUI 中。我尝试使用 Haskell 库创建所述 GUI,但运气不佳,特别是因为我无法找到适用于 Windows 的最新 GUI 库。我尝试使用 Java 来获得这些结果,但要么返回错误,要么根本没有结果。
我构建了一个最小的示例来大致展示我目前正在做的事情:
import java.io.*;
public class TestExec {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("ghc test.hs 2 2");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是调用的 Haskell 脚本,在本例中是一个简单的添加:
test x y = x + y
目前根本没有存储或打印任何结果。有人有什么想法吗?
【问题讨论】:
-
先创建可执行文件,然后在
exec中运行 -
你的haskell代码中还需要一个
main。 -
你告诉 Haskell
test x y和x + y是一样的。你期望什么输出? -
你也应该使用
runghc而不是ghc -
这样的基准测试不会产生任何可靠的结果。 “测试”功能立即执行。因此,您的基准测试只会衡量您的操作系统启动可执行文件需要多长时间。