You must also put the signature of the module type CharPQueueAbs in the implementation (A.ml). Note that the directive #use or #load are toplevel directives. They cannot be used at compilation. Esther Baruk On Thu, Sep 8, 2011 at 4:26 PM, Walter Cazzola wrote: > Dear Experts, > I'm a sort of newbe so be patient with if I ask something too silly > (I've googled around but I didn't find anything really usefull). > > At the moment I'm investigating on how the OCaML module system and the > separate compilation works. > > Nothing original I took the priority queue example from the user manual > and split it into three files (attached): one with the structure (A.ml) > one with the signature (A.mli) and one with a silly main (main.ml). > > Following the instructions in the manual I have tried to compile each > file without linking but the only that compiles with success is the file > with the signature since it doesn't refer to any other file. > > When I compile the structure or the main I get this error: > >ocamlc -c A.ml > File "A.ml", line 17, characters 39-52: > Error: Unbound module type CharPQueueAbs > > I have tried to put #use or #load in the A.ml and main.ml file but the > only result is to get a syntax error (e.g., with #use "A.mli" at the > beggining of A.ml) > > >ocamlc -c A.ml > File "A.ml", line 1, characters 0-1: > Error: Syntax error > > What am I doing wrong? Any help is appreciate, thanks. > > Walter > > -- > -- > Caml-list mailing list. Subscription management and archives: > https://sympa-roc.inria.fr/**wws/info/caml-list > Beginner's list: http://groups.yahoo.com/group/**ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-**bugs > >