2012-12-10 4 views
5

Mam duży program, który jest napisany w OCaml, i chciałbym móc wywoływać niektóre funkcje OCaml z mojego programu Python.Jak mogę wywołać funkcje OCaml z programu Python?

Jak mogę to zrobić w najprostszy sposób?

+0

[Ta strona] (http://proj.badc.rl.ac.uk/cedaservices/browser/ipython/IPython/frontend/html/notebook/static/codemirror/mode/ocaml/index.html) wydaje się sugerują, że istnieje sposób na połączenie [IPython note] (http://ipython.org/) z OCaml. Ale ponieważ nigdy nie robiłem żadnej pracy z interfejsem Pythona i OCaml, nie mogę być pewny, że tego właśnie chcesz – inspectorG4dget

+1

Ten link nie działa dla mnie: pojawia się błąd 403 "Zabronione" – ymn

Odpowiedz

8

Bezpośrednio, nie. Jeśli jednak utworzysz interfejs API C dla biblioteki Ocaml, możesz wywołać ten interfejs API za pośrednictwem. Moduł Pythona ctypes lub podobny. Podobnie, jeśli ujawnisz usługę sieciową dla twojej aplikacji OCaml, Python może do niej zadzwonić.

8

Może się okazać przydatny Pycaml, interfejs Python-OCaml umożliwiający wywoływanie funkcji OCaml z Pythona i odwrotnie.

Należy sprawdzić wersję 2011 lub nowszą, która jest oparta na wersji z 2002 roku.

3

Pycaml nie jest już naprawiony: w dzisiejszych czasach jest to pyml i lymp .

pyml: http://pyml.gforge.inria.fr lymp: https://github.com/dbousque/lymp

Obie z nich są dostępne w opam (opam zainstalować pyml lymp). Nie próbowałem ich jeszcze, ale ponieważ wiem, że autor pyml jest bardzo kompetentny, to bym się na to założył.