From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA22610; Sat, 19 Oct 2002 19:14:31 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA22528 for ; Sat, 19 Oct 2002 19:14:30 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from sm5.163.com ([202.108.44.212]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g9JHESD02635 for ; Sat, 19 Oct 2002 19:14:29 +0200 (MET DST) Received: from localhost (localhost [127.0.0.1]) by sm5.163.com (Postfix) with SMTP id AE7A31C5E7580 for ; Sun, 20 Oct 2002 01:11:57 +0800 (CST) Received: from climbxp (unknown [159.226.149.121]) by 192.168.1.212 (Coremail) with SMTP id PY8AAFuSsT29FZV5.2 for ; Sun, 20 Oct 2002 01:11:57 +0800 (CST) From: "climb" To: "caml-list@inria.fr" X-mailer: Foxmail 4.2 [cn] Mime-Version: 1.0 Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: 7bit Date: Sun, 20 Oct 2002 1:14:25 +0800 Message-Id: <20021019171157.AE7A31C5E7580@sm5.163.com> Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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