From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA07657 for caml-redist; Tue, 25 Apr 2000 19:00:21 +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 VAA28786 for ; Fri, 21 Apr 2000 21:56:16 +0200 (MET DST) Received: from localhost.localdomain (ike49.zip.com.au [210.23.146.49]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id VAA11874 for ; Fri, 21 Apr 2000 21:56:12 +0200 (MET DST) Received: from maxtal.com.au (IDENT:root@localhost [127.0.0.1]) by localhost.localdomain (8.9.3/8.8.7) with ESMTP id FAA16217; Sat, 22 Apr 2000 05:56:05 +1000 Sender: weis Message-ID: <3900B255.BE396EC4@maxtal.com.au> Date: Sat, 22 Apr 2000 05:56:05 +1000 From: John Max Skaller X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12-20 i686) X-Accept-Language: en MIME-Version: 1.0 To: Gerd.Stolpmann@darmstadt.netsurf.de CC: caml-list@inria.fr Subject: Re: When functional languages can be accepted by industry? References: <200004192221.AAA29133@beach.frankfurt.netsurf.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Gerd Stolpmann wrote: > But this is only a suggestion. Perhaps people want a different tool? I do not > know. My feeling is that Findlib is an excellent tool, but we really need something a lot more seamless. 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. 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 ..). BTW: it isn't clear whether the directory's module file (called __init__.py in python) is a good idea. -- John (Max) Skaller, mailto:skaller@maxtal.com.au 10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850 checkout Vyper http://Vyper.sourceforge.net download Interscript http://Interscript.sourceforge.net