Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
alternative module systems
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Brian Rogoff <bpr@b...>
Subject: Re: alternative module systems
On Mon, 14 Aug 2000, Markus Mottl wrote:
> Hello,
> having just looked at a few examples of the new module system as
> implemented by Claudio Russo in Moscow ML, I wonder whether people at INRIA
> have already considered it?
> It supports higher order functors, mutually recursive modules, even first
> class modules. The module examples in the Moscow ML distribution also
> demonstrate the new capabilites using the bootstrapping methods explained
> in Okasaki's book on "Purely Functional Datastructures". This is really
> neat stuff!

Yes it is. I wonder what else those features will enable. In particular,
the use of first class structures to configure a system at run
time looks really useful to me. This is one of those things I'd normally
be disposed towards doing with classes. I find it disturbing though, since
my mental model of modules is that they are "second class". 

Also, there is the age old (in web years :) desire to have mutually
recursive types which span module boundaries, and it is possible in this 
system. I guess there have been papers describing other solutions, but 
a having a real implementation is a win.

> I have no idea whether there are any caveats to this solution, but it looks
> pretty general. Any comments whether something similar could be implemented
> in OCaml? As it seems, the solution is a true superset of the previous
> module system used in SML.

It's a superset of the OCaml module system too, at least that part that is 
comparable with SML (obviously SML doesn't have classes and such). 

-- Brian