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 WAA08756; Thu, 15 Aug 2002 22:42:51 +0200 (MET DST) 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 WAA08719 for ; Thu, 15 Aug 2002 22:42:50 +0200 (MET DST) Received: from ext-nj2gw-2.online-age.net (ext-nj2gw-2.online-age.net [216.35.73.164]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g7FKgnv11032 for ; Thu, 15 Aug 2002 22:42:49 +0200 (MET DST) Received: from int-nj2gw-1.online-age.net (int-nj2gw-1 [3.159.236.65]) by ext-nj2gw-2.online-age.net (8.12.3/8.9.1/990426-RLH) with ESMTP id g7FKggLD019062; Thu, 15 Aug 2002 16:42:42 -0400 (EDT) Received: from uswaumsxb4medge.med.ge.com (localhost [127.0.0.1]) by int-nj2gw-1.online-age.net (8.12.3/8.12.3/990426-RLH) with ESMTP id g7FKgax0005305; Thu, 15 Aug 2002 16:42:36 -0400 (EDT) Received: by USWAUMSXB4MEDGE with Internet Mail Service (5.5.2656.59) id ; Thu, 15 Aug 2002 15:42:27 -0500 Message-ID: From: "Gurr, David (MED, self)" To: Fernando Alegre , caml-list@inria.fr Subject: RE: [Caml-list] Namespace proposal Date: Thu, 15 Aug 2002 15:42:19 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2656.59) Content-Type: text/plain Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > -----Original Message----- > From: Fernando Alegre [mailto:fernando@cc.gatech.edu] > Sent: Thursday, August 15, 2002 10:46 AM > To: caml-list@inria.fr > Subject: Re: [Caml-list] Namespace proposal > > > On Thu, Aug 15, 2002 at 12:13:47PM -0500, Gurr, David (MED, > self) wrote: > > > > > For me package is not a modules collection, but just > > > a way of multi-word module naming. It's not so easy to > > > give short and still adequate names to the modules, but > > > something like Db.Core.Storage looks much better then > > > Dbstorage, and Storage can still be accessed just as > > > "Storage" from modules of the same "package". Just a naming > > > way, nothing more. > > > > And what happens when you need to abstract over a > module/sub-package? -D > > I think a naming convention like this is definitely needed, > but in order > not to be confused with sub-modules, a different character > should be used. > For example: > > Db/Core/Storage could be a legal module name (in > Db/Core/storage.ml), and > Db.Core.Storage could be a module hierarchy defined in Db.ml, and > Db/Core/Storage.Medium could be a submodule defined in > Db/Core/storage.ml,... > > An added advantage of this syntax is that it is consistent > with the overall > esthetics of the OCaml language (i.e., ugly). :-) > > Fernando > I agree with the ugly part. But it is consistent with C not OCaml, IMHO. The difference between structures (ie first order modules) and packages as far as I can see is that you can abstract over modules and you can individually type check modules. If you have a language where abstraction and type checking are non-existent then packages might be a fine thing. Separate compilation for nested modules and a name mangling scheme for their file names might be useful for OCaml. -D ------------------- 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