在Haskell中调用Python代码

Tet*_*igi 4 python haskell

我有一堆(或将有一堆)使用OpenCV库和SimpleCV的Python代码.我还有一堆Haskell代码可以执行其他一些操作,但是想调用我在Python中定义的一个函数.这一个函数返回三元组的双精度数.

在Haskell中调用此函数的最佳方法是什么?

例如,一个简化的例子是我在Python中有一个函数

# foo.py
import SimpleCV

def foo():
   return (1.0,2.0,3.0)
Run Code Online (Sandbox Code Playgroud)

我希望能够在Haskell中做到这一点

-- bar.hs

main = do
  putStrLn $ show pyThingy.foo
Run Code Online (Sandbox Code Playgroud)

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

*** Exception: <<MissingPy.Python.Types.PyException>>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Xia*_*Jia 8

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