gpt4 book ai didi

java - 如何从 Runtime.getRuntime.exec() 启动 Haskell 进程?并进行互动交流?

转载 作者:行者123 更新时间:2023-12-01 13:47:18 25 4
gpt4 key购买 nike

嗨,我创建了一个进程,现在想通过 Runtime.exec 执行 haskell 程序并与进程交互通信。

例如,我想启动一个像

这样的 haskell 程序

GCI

f a b = a * b

f 2 3

现在如果我使用类似的东西

theProcess = Runtime.getRuntime().exec("ghci");

之后就不能再做这样的事情了。

theProcess = Runtime.getRuntime().exec("让 f a b = a *b");还有

theProcess = Runtime.getRuntime().exec("ghci | let f a b = a *b")

不会工作。

如何在没有 bash 文件的情况下在同一进程上通信和执行命令。

感谢您的帮助,希望我能很好地解释我的问题

最佳答案

您需要通过 stdin/stdout 流进行通信才能实现您想要的目的。但这并不容易,您需要一些定义良好的协议(protocol)来避免死锁等。

但我有一些东西给你,这可能更适合你的需求:以防万一你不知道,有一种语言叫做 Frege ,它接近 Haskell 2010 并且编译为 Java 代码。它还具有 JSR 223 脚本支持,因此您可以从 Java 代码中运行和计算表达式。

关于java - 如何从 Runtime.getRuntime.exec() 启动 Haskell 进程?并进行互动交流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20265338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com