在Haskell中调用Python代码

5

我有一些(或者将会有一些)使用OpenCV库和SimpleCV的Python代码。我还有一些Haskell代码,它做一些其他的事情,但是想要调用我在Python中定义的一个函数。这个函数返回三个双精度浮点数的元组。

最好的方法是什么,可以在Haskell中调用这个函数?

例如,如果我在Python中有一个简化的函数:

# foo.py
import SimpleCV

def foo():
   return (1.0,2.0,3.0)

我希望能够在Haskell中实现这个功能。

-- bar.hs

main = do
  putStrLn $ show pyThingy.foo

我尝试使用MissingPy(http://hackage.haskell.org/package/MissingPy),但每当我试图导入本地文件时,我都会得到以下错误:

*** Exception: <<MissingPy.Python.Types.PyException>>

谢谢!

1个回答

7
你可以使用Thrift。它是用于可扩展的跨语言服务开发的,结合了软件堆栈和代码生成引擎,以构建能够在C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、OCaml和Delphi等语言之间高效无缝工作的服务。

完美运行 - 不得不与它斗争一下(我的系统上愚蠢的损坏包T_T),但现在它可以工作了!万岁! - Tetigi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接