当前位置: 首页 > 面试题库 >

在Java中调用Haskell函数的最佳方法

姬康平
2023-03-14
问题内容

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


问题答案:

我通常避免使用JNI类型的方法来跨运行时/语言进行链接。他们只是有太多的陷阱而没有什么好处。我发现跨流程边界工作更容易。尽管我从未在Haskell和Java上尝试过,但它们都具有支持XML
RPC的库,听起来很自然地适合您的工作。因此:将Haskell程序设置为“服务”,并在需要时调用其功能。



 类似资料:
  • 问题内容: 我在数组上进行映射,对于新对象的返回值之一,我需要进行异步调用。 该功能的实现将类似于 我不清楚做到这一点的最佳方法是什么…承诺?嵌套的回调?在ES6或ES7中使用某些东西,然后与Babel进行转换? 目前实现此目的的最佳方法是什么? 谢谢! 问题答案: 一种方法是(ES6)。 该答案将在Node 4.0+中起作用。较旧的版本将需要Promise polyfill或库。我还使用了ES6

  • 问题内容: 我想使用Python的某些Haskell库(例如Darcs,Pandoc),但似乎在Python中没有直接的Haskell外部函数接口。有什么办法吗? 问题答案: 只要您可以获取Python代码来调用C,就可以调用已通过FFI导出的Haskell函数 另一种方法是编写标准IPC接口,在darcs和pandoc的情况下,仅将它们称为原始可执行文件,然后解析其输出可能是可行的方法。 至于在

  • 问题内容: 我正在尝试为我的NodeJS项目构建一组实用程序。这些帮助程序包括:文本实用程序(如子字符串,控制台日志记录等),以及更具体的帮助程序,如分析tweet的文本。 因此,我试图将模块划分为不同的文件,并对每件事的含义非常清楚。 例如,我想实现以下目标: 如您所见,我通过调用非常特定的方法和子方法将Utils用于不同的事情。 我试图了解继承在这里的工作原理,但我有点迷失了。 这就是我正在做

  • 有一项政策规定,一个项目的税收应该四舍五入到最接近的0.05。因此,1.499应四舍五入至1.5,7.125应四舍五入至7.25。 上述四舍五入要求可以使用以下逻辑实现: 把税加到该项目的成本上就会产生: 我尝试使用BigDecimal而不是float来存储所有的值,并将刻度设置为小数点后2位。这种方法的问题是,如果没有指定舍入策略,bigDecimal将在某些情况下引发异常。为BigDecima

  • 我有一个字符串中的下一个代码: 问题是,如果我想获取每个和上包含的所有字符串,但我不知道如何获取的最佳方法是什么,使用regexp,下一个模式就不能很好地工作:因为这将在或上失败,我如何修复这个问题,确保所有@lang调用都被检查成功?谢谢!

  • 我试图用Java编写异步编程,并使用ExecutorService创建一个由多个线程支持的池来提交多个可调用任务,但对于如何关闭ExecutorService我没有什么问题。 以下是我的原始代码: 这样做很好,执行器在线程完成后关闭。但我担心如果写错了什么,可调用任务中的代码将永远占用,程序将永远停止,永远不会退出。 我的问题是如何设置强制关闭池中线程的时间,这样我就不需要显式地使用来阻止程序。