#stuff are generally for interactive top-level use. #use and #load definitely are. They can't be compiled.
First, compile interface files: ocamlc -c a.mli then compile your ml : ocamlc -c a.ml because your ml uses (at least it seems to) information contained in your mli file. If your files depend on other files that are in other directories, you may need to use -I, like in ocamlc -c -I lib/stuff plop.ml if you have for instance a dependance on a module contained in lib/stuff. (Notice that modules on which you depend have to be compiled) And to use mli information, it has to be compiled (into a cmi file). Cheers, -- Philippe Wang [email protected] On Thu, Sep 8, 2011 at 4:26 PM, Walter Cazzola <[email protected]> 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 > > -- 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
