On Jan 17, 2010, at 4:49 PM, Guillaume Yziquel wrote: > > Yoann Padioleau a écrit : >> On Jan 16, 2010, at 11:01 PM, Grégoire Seux wrote: >> There is one in nltk, a very complete python library for NLP and there is >> ocamlpython to link ocaml and python code. As the stemmer interface is >> very simpler (string -> string), it's very easy to use ocamlpython to do >> that. >> open Pycaml >> module Py = Python let modul = Py.cpr (Pycaml.pyimport_importmodule >> "nltk_ocaml") >> let dict = Py.cpr (Pycaml.pymodule_getdict modul) >> let stem s = let py_str = Pycaml.pystring_fromstring s in >> let f = Py.cpr (Pycaml.pydict_getitemstring(dict, "stem")) in >> let args = Py.cpr (Pycaml.pytuple_fromsingle py_str) in >> let res = Py.cpr (Pycaml.pyeval_callobject (f,args)) in >> Pycaml.guarded_pystring_asstring res > > I'm afraid I do not understand where you get your Python module from and you > Py.cpr value from. I get from the Debian pycaml package:
Oops. I have an extra module called python.ml containing small helper functions: exception PythonError (* henrik have written similar things *) let check_python_return v = if v = Pycaml.pynull () then begin Pycaml.pyerr_print (); raise PythonError end else v (* alias *) let cpr = check_python_return > > # #require "pycaml";; > /usr/lib/ocaml/unix.cma: loaded > /usr/lib/ocaml/pycaml: added to search path > /usr/lib/ocaml/pycaml/pycaml.cma: loaded > # module X = Python;; > Error: Unbound module Python > # module X = Pycaml.Python;; > Error: Unbound module Pycaml.Python > # module X = Pycaml;; > module X : > sig > type funcptr = Pycaml.funcptr > type pyobject = Pycaml.pyobject > type funcent = funcptr * int * int > type pymodule_func = > Pycaml.pymodule_func = { > pyml_name : string; > pyml_func : pyobject -> pyobject; > pyml_flags : int; > pyml_doc : string; > } > type pyobject_type = > Pycaml.pyobject_type = > TupleType > | StringType > | IntType > | FloatType > | ListType > | NoneType > | CallableType > > Where did you get your pycaml from? A mix of * - Arty Yekes original pycaml 0.82, * - Henrik stuart port to python 2.5 * - Thomas Fischbacher heavy extension. > > All the best, > > -- > Guillaume Yziquel > http://yziquel.homelinux.org/ > _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs