在Haskell中调用Python代码

时间:2013-01-13 15:07:16

标签: python haskell

我有一堆(或将会有一堆)使用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 个答案:

答案 0 :(得分:8)

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