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/pub/old_caml_site/caml-list/2071.html
http://caml.inria.fr/pub/old_caml_site/caml-list/2082.html
http://caml.inria.fr/pub/old_caml_site/caml-list/2091.html
http://caml.inria.fr/pub/old_caml_site/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 ----------------------------------------------------------------------------
This archive was generated by hypermail 2b29 : Tue Apr 25 2000 - 19:05:31 MET DST