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 JAA01288; Thu, 27 Feb 2003 09:29:31 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA01019 for ; Thu, 27 Feb 2003 09:29:30 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h1R8TOT26249; Thu, 27 Feb 2003 09:29:24 +0100 (MET) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA01068; Thu, 27 Feb 2003 09:29:23 +0100 (MET) Date: Thu, 27 Feb 2003 09:29:23 +0100 From: Xavier Leroy To: Lauri Alanko Cc: caml-list@inria.fr Subject: Re: [Caml-list] Alternative proposal: COAN Message-ID: <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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <20030225221413.GA13865@la.iki.fi>; from la@iki.fi on Wed, Feb 26, 2003 at 12:14:13AM +0200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > When Haskell got to the same situation (ie. people began to collect > miscellaneous libraries into a coherent whole), one of the first things > to be done was to extend the module system of the language to > hierarchical namespaces: [...] > This sort of thing is done in Java, it is done in Perl, and it probably > ought to be done in just about any language that plans to support lots > of libraries. Naming conflicts are icky. I would very much like O'Caml > to have hierarchical namespaces as well. Since day one, the OCaml module system has had "hierarchical" namespaces in the form of nested modules. Without sounding too cocky, I'd say that ML doesn't have much to learn from Java or Perl in the module department. It is true that until recently OCaml didn't support separate compilation of the submodules. I.e. in order to present the user of the library Lib with the hierarchical view Lib.A, Lib.B, etc, the source had to be put in one file lib.ml. Notice that this style is perfectly workable with small to medium-sized libraries (see my Cryptokit library for an example). The '-pack' mechanism was introduced in 3.06 to support separate compilation of the submodules. Since it is a recent extension, it's not yet stable enough to be used widely, but I expect this to change with time. - Xavier Leroy ------------------- 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