I am currently trying to get OCaml and Matlab to work together. I found
OCamlMex on the Caml-Hump
(http://caml.inria.fr/cgi-bin/hump.en.cgi?contrib=400).
However when I try to compile it, I get an error:
ocamlc.opt -c -pp "camlp4r " -I /usr/lib64/ocaml/camlp4 mex.mli
File "mex.mli", line 235, characters 15-17:
Unbound type parameter 'a
make[2]: *** [mex.cmi] Fehler 2
make[2]: Leaving directory `/home/till/ocamlmex-2.0.1/src'
make[1]: *** [byte-code-library] Fehler 2
make[1]: Leaving directory `/home/till/ocamlmex-2.0.1/src'
make: *** [all] Fehler 2
The line mentioned in the error looks like this:
type mxArray = 'a;
(** The basic type for all the external data inside Matlab : a mxArray
can be a numeric array, a cell array, a struct array, or other kind of
data see mxClassID *)
So I am not at all surprised, that it won't work, because the 'a actually
is unbound. Was this maybe possible with older versions of the compiler,
or are there some workarounds, to get it working again?
Do you know of any other ways to get OCaml and Matlab to communicate?
Another way I can think of is to use the OCaml <-> Java interface and the
Matlab <-> Java interface, but this would get nasty, and I'd have to write
the wrappers myself.
So if you know anything on this topic, please let me know.
Thanks,
Till
_______________________________________________
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
That's a syntactic over the revised syntax of abstract types, now abstract
types are like in the original syntax:
type mxArray;
--
Nicolas Pouillard aka Ertai
>> So I am not at all surprised, that it won't work, because the 'a
>> actually
>> is unbound. Was this maybe possible with older versions of the compiler,
>> or are there some workarounds, to get it working again?
>
> That's a syntactic over the revised syntax of abstract types, now
> abstract
> types are like in the original syntax:
>
> type mxArray;
Ok, that was also my first guess, that occured to me afterwards. So I
changed it to normal abstract types and fixed the .mli file. However, the
problem still remains, because the types are the same way in the actuall
implementation file. So it seems like there is more at work here, because
abstract types are not possible in .ml files, or are they?
--
Wenn du den Fnord nicht siehst, kann er dich auch nicht essen.
They are.
Here is an updated version for ocaml >= 3.10 with *Camlp5* :
http://gforge.inria.fr/frs/download.php/4062/ocamlmex-2.1.0.tar.gz
(from http://ocamlmex.gforge.inria.fr/)
It has been tested with Matlab 2007b, 2008a and Octave on a Ubuntu Hardy
(Ocaml 3.10.1, Camlp5 5.04 (transitional mode), Octave 3.0)
For any trouble with this, please mail me directly.
Maurice Bremond