Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] OCaml and Matlab

67 views
Skip to first unread message

cru...@informatik.uni-bonn.de

unread,
Jul 24, 2008, 4:48:51 AM7/24/08
to caml-list
Hi,

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

Nicolas Pouillard

unread,
Jul 24, 2008, 5:24:14 AM7/24/08
to Till Crueger, caml-list
Excerpts from Till Crueger's message of Thu Jul 24 10:47:51 +0200 2008:

> Hi,
>
> 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?

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

signature.asc

Till Crueger

unread,
Jul 24, 2008, 4:41:12 PM7/24/08
to caml...@inria.fr
On Thu, 24 Jul 2008 11:23:27 +0200, Nicolas Pouillard
<nicolas....@gmail.com> wrote:

>> 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.

Nicolas Pouillard

unread,
Jul 25, 2008, 4:02:24 AM7/25/08
to Till Crueger, caml-list
Excerpts from Till Crueger's message of Thu Jul 24 22:40:59 +0200 2008:

> On Thu, 24 Jul 2008 11:23:27 +0200, Nicolas Pouillard
> <nicolas....@gmail.com> wrote:
>
> >> 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?

They are.

signature.asc

Maurice Bremond

unread,
Aug 1, 2008, 10:39:58 AM8/1/08
to cru...@informatik.uni-bonn.de, caml-list

>However when I try to compile it, I get an error:

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

0 new messages