From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA21078 for caml-redist; Tue, 25 Apr 2000 19:03:35 +0200 (MET DST) 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 UAA19011 for ; Sat, 22 Apr 2000 20:50:37 +0200 (MET DST) Received: from beach.frankfurt.netsurf.de (beach.frankfurt.netsurf.de [194.64.181.2]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id UAA22080 for ; Sat, 22 Apr 2000 20:50:36 +0200 (MET DST) Received: from ice.darmstadt.netsurf.de (board-74.darmstadt.netsurf.de [194.163.86.202]) by beach.frankfurt.netsurf.de (8.8.5/8.8.5) with ESMTP id UAA23297; Sat, 22 Apr 2000 20:50:33 +0200 (MET DST) Received: from localhost (localhost [[UNIX: localhost]]) by ice.darmstadt.netsurf.de (8.9.3/8.9.3) id UAA16149; Sat, 22 Apr 2000 20:46:25 +0200 From: Gerd Stolpmann Reply-To: Gerd.Stolpmann@darmstadt.netsurf.de Organization: privat To: John Max Skaller , caml-list@inria.fr Subject: Re: When functional languages can be accepted by industry? Date: Sat, 22 Apr 2000 20:30:39 +0200 X-Mailer: KMail [version 1.0.28] Content-Type: text/plain References: <200004192221.AAA29133@beach.frankfurt.netsurf.de> <3900B255.BE396EC4@maxtal.com.au> In-Reply-To: <3900B255.BE396EC4@maxtal.com.au> MIME-Version: 1.0 Message-Id: <00042220462404.09986@ice> Content-Transfer-Encoding: 8bit Sender: weis On Fri, 21 Apr 2000, John Max Skaller wrote: >Perhaps the first, and simplest step, is to augment the notion >of 'path' from a list of directories to search for a module A, >to the notion that we can navigate the file system _tree_ looking >for 'nested' module name such as D1.D2.B. The problem is that the pseudo modules D1 and D1.D2 do not have signatures (or better: they do not have a fixed signature) because you can always put another module into the directory. Would you allow then something like module M = D1 ? What is the signature of M? - M can occur in another signature, making things complicated. >What I envisage is that 'opening' a module which turns out to >be a directory is some special file, plus the modules in >that directory. These 'nested' modules are written 'as if nested >in their parent'. > >In other words, this compilation model is a 'lexical convention' >for writing > > (* module top *) > (* .. code for top .. *) > module submod1 = .. > module submod2 = ... > >Just as there is a convention that a 'plain' *.ml file is a top >level module, a directory represents a special module whose primary >function is namespace control. > >This requires a change to the compiler I think. It is not a total >package control mechanism, but it alleviates the namespace >pollution problem, and makes the files of a package easier to install >using a directory tree (perhaps using symbolic links ..). See also the thread "Module hierarchy revisited" (December 1999): http://caml.inria.fr/caml-list/2071.html http://caml.inria.fr/caml-list/2082.html http://caml.inria.fr/caml-list/2091.html http://caml.inria.fr/caml-list/2093.html There was never a reply from the Caml team. -- ---------------------------------------------------------------------------- Gerd Stolpmann Telefon: +49 6151 997705 (privat) Viktoriastr. 100 64293 Darmstadt EMail: Gerd.Stolpmann@darmstadt.netsurf.de (privat) Germany ----------------------------------------------------------------------------