From: "climb" <onlyclimb@163.com> To: "caml-list@inria.fr" <caml-list@inria.fr> Date: Sun, 20 Oct 2002 1:14:25 +0800 Message-ID: <20021019171157.AE7A31C5E7580@sm5.163.com> (raw) i am quite confused about the orgnization of source files. i have programmed with java . java has a simple rule to orgnize files: one file contains one class(public) or interface, and name of the file and the class must be identical. As to Ocaml. Does the file name of *.ml or mli has some similar relation ship with the content ? for example , in the on-line manul it says : if complie like this ocaml -c aux.mli ocaml -c aux.ml behaves exactly as if module Aux: sig (* contents of aux.mli*) end = struct (*contents of aux.ml*) end;; in the toplevel that seems to imply the exsiting fo some relationship , but i still has these questions: 1) can many modules be write in just one file ? maybe not , then how does classes? 2) Is the multi sigs with one struct or multi structs with one sig compiled at a prper dependency can get the same result that like as in the toplevel? should i write anther file to tell them how to assigning? 3) take set.ml and set.mli for example which defined one functor: Make and two sigs : S and OrderedType. But when we use , we use this command Set.Make(..). "Set" here seem can only get from the name of the file. So it seems the file name determined the library name . Then how about the noraml module (not functor) case that if i define a module A with a funtion a(), in file b.ml and b.mli, how can i refer to a() in module A. A.a() or B.A.a() or B.a()? Best regards Yours climb onlyclimb@163.com 2002-10-20 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next reply index Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-10-19 17:14 climb [this message] 2002-10-20 20:04 ` [Caml-list] Alessandro Baretta
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20021019171157.AE7A31C5E7580@sm5.163.com \ --to=onlyclimb@163.com \ --cc=caml-list@inria.fr \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
caml-list - the Caml user's mailing list Archives are clonable: git clone --mirror https://inbox.ocaml.org/caml-list AGPL code for this site: git clone https://public-inbox.org/ public-inbox