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 JAA15538 for caml-red; Fri, 12 Jan 2001 09:51:21 +0100 (MET) 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 TAA04376 for ; Thu, 11 Jan 2001 19:11:25 +0100 (MET) Received: from mrwall.kal.com (mrwall.kal.com [194.193.14.236]) by concorde.inria.fr (8.11.1/8.10.0) with SMTP id f0BIBOj00077 for ; Thu, 11 Jan 2001 19:11:24 +0100 (MET) Received: from mrwall.kal.com [194.193.14.236] (HELO localhost) by mrwall.kal.com (AltaVista Mail V2.0J/2.0J BL25J listener) id 0000_0045_3a5d_f78f_b5ed; Thu, 11 Jan 2001 18:12:31 +0000 Received: from somewhere by smtpxd Message-ID: <3145774E67D8D111BE6E00C0DF418B663AD79C@nt.kal.com> From: Dave Berry To: Claudio Russo , Alain Frisch Cc: Brian Rogoff , Caml list Subject: RE: first class, recursive, mixin modules (was: RE: first class m odules) Date: Thu, 11 Jan 2001 18:15:25 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.0.1460.8) Content-Type: text/plain; charset="iso-8859-1" Sender: weis@pauillac.inria.fr We ran into an example (in SML) during the development of MLWorks. I can only remember it vaguely, but there were two large module hierarchies. These hierarchies were in logically different parts of the system. A new development built on top of these hierarchies meant that we needed to make one element from the bottom of each hierarchy be mutually recursive with each other. I suspect that since we were using a fully functorised style, what we wanted to do was to make two functors mutually recursive. In practice we had to combine the module hierarchies to make the types and values mutually recursive at the bottom of the new hierarchy. I wish I could remember what the example was, because it was a clear case where the ML module system was too inflexible to meet the pragmatic needs. Imagine how we would have been stuck if the two module hierarchies were libraries from different suppliers, especially if they were only distributed in compiled form. Dave. -----Original Message----- From: Claudio Russo [mailto:crusso@microsoft.com] Sent: Thursday, January 11, 2001 10:33 To: Alain Frisch Cc: Brian Rogoff; Caml list Subject: RE: first class, recursive, mixin modules (was: RE: first class modules)