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 NAA08892; Thu, 27 Feb 2003 13:47:53 +0100 (MET) 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 NAA09489 for ; Thu, 27 Feb 2003 13:47:52 +0100 (MET) Received: from igw2.watson.ibm.com (igw2.watson.ibm.com [129.34.20.6]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h1RCloH03752; Thu, 27 Feb 2003 13:47:50 +0100 (MET) Received: from sp1n293en1.watson.ibm.com (sp1n293en1.watson.ibm.com [9.2.112.57]) by igw2.watson.ibm.com (8.11.4/8.11.4) with ESMTP id h1RClnj81554; Thu, 27 Feb 2003 07:47:49 -0500 Received: from nautilus-chet.watson.ibm.com (sig-9-65-92-82.mts.ibm.com [9.65.92.82]) by sp1n293en1.watson.ibm.com (8.11.4/8.11.4) with ESMTP id h1RClmV41348; Thu, 27 Feb 2003 07:47:48 -0500 Received: from maine (maine [127.0.0.1]) by nautilus-chet.watson.ibm.com (8.12.5/8.12.5/Debian-1) with ESMTP id h1NGpVws001180; Sun, 23 Feb 2003 11:51:31 -0500 Message-Id: <200302231651.h1NGpVws001180@nautilus-chet.watson.ibm.com> To: Xavier Leroy cc: Lauri Alanko , caml-list@inria.fr Subject: Re: [Caml-list] Alternative proposal: COAN In-Reply-To: Your message of "Thu, 27 Feb 2003 09:29:23 +0100." <20030227092923.A496@pauillac.inria.fr> References: <02103BF1-4835-11D7-B97A-000A95773ED2@rouaix.org> <15963.19322.759255.37091@gargle.gargle.HOWL> <20030225171550.GA5041@stratocaster.home> <20030225214833.GA13418@roke.freak> <20030225221413.GA13865@la.iki.fi> <20030227092923.A496@pauillac.inria.fr> Date: Sun, 23 Feb 2003 11:51:31 -0500 From: Chet Murthy Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk >>>>> "XL" == Xavier Leroy writes: XL> Since day one, the OCaml module system has had "hierarchical" XL> namespaces in the form of nested modules. Without sounding XL> too cocky, I'd say that ML doesn't have much to learn from XL> Java or Perl in the module department. XL> The '-pack' mechanism was introduced in 3.06 to support XL> separate compilation of the submodules. Since it is a recent XL> extension, it's not yet stable enough to be used widely, but I XL> expect this to change with time. How *amusing*. Xavier, while you were doing this, I was hacking together, as a piece of "research" (but then, I work for an industrial "research" lab, so you can decide for yourself how much "research" I get to do), a real module system for Java. Oh, you say (well, -you- wouldn't say it, and you'd be right not to ;-), doesn't Java *have* a module system? Nope. In the same sense that SML/NJ didn't have a notion of compilation/linkage units, back in 1991, when I first met caml-light, Java doesn't have such a notion, either. Heck, Java's "packages" are neither hierarchical, nor do the enforce enough constraints to provide anything remotely resembling separate compilation or linking. The linking of any Java class can cause the linking of any other Java class. The compilation of any Java class can cause the compilation of a large number of other Java classes. They certainly don't allow the JIT to do anything remotely resembling static compilation. For achieving "modularity" of a form which permits separate compilation, hierarchical namespaces is almost irrelevant. All its really good for, is for *naming* classes. After hacking with Java all these years (the horror, the horror), I've pretty much concluded that something like findlib, with some extensions to *name* packages more commodiously, would be almost perfect. Once we get our Java version of this modularity done, I'm going to take a look at what one would have to do to findlib (literally, I think it comes down to module-naming, and that is *all*) to make it work for large-scale module-sharing. I really don't think Caml is far. And I think you're right, Xavier, that you have nothing to learn from Java and Perl. Heck, I based the module system I'm writing for Java, on the old caml-light "compilation units". --chet-- ------------------- 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