Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calling Haskell functions from Python

I want to use some Haskell libraries (e.g. Darcs, Pandoc) from Python, but it seems there’s no direct foreign function interface to Haskell in Python. Is there any way to do that?

like image 691
minhee Avatar asked Feb 16 '11 10:02

minhee


1 Answers

Provided you can get your Python code to call C, you can call Haskell functions that have been exported via the FFI

Another approach would be to write a standard IPC interface, in the case of darcs and pandoc just calling them as vanilla executables and parsing their output might be the way to go.

As to automating the generation of boring, repetitive, FFI and marshalling code on the Haskell side, I'd recommend c2hs, which allows you to auto-generate a lot based on an existing C interface. There's probably similar things for python.

SWIG, alas, has, to the best of my knowledge, never been implemented for Haskell, presumably because it caters to less strictly-typed languages.

like image 85
barsoap Avatar answered Sep 19 '22 08:09

barsoap