caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Dave Berry <dave@kal.com>
To: Claudio Russo <crusso@microsoft.com>,
	Alain Frisch <frisch@clipper.ens.fr>
Cc: Brian Rogoff <bpr@best.com>, Caml list <caml-list@inria.fr>
Subject: RE: first class, recursive, mixin modules (was: RE: first class m odules)
Date: Thu, 11 Jan 2001 18:15:25 -0000	[thread overview]
Message-ID: <3145774E67D8D111BE6E00C0DF418B663AD79C@nt.kal.com> (raw)

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)




             reply	other threads:[~2001-01-12  8:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-11 18:15 Dave Berry [this message]
2001-01-11 20:01 ` Brian Rogoff
2001-01-12 12:12 Claudio Russo
2001-01-14 20:51 Brian Rogoff
2001-01-15 14:13 Dave Berry
2001-02-09  9:41 Claudio Russo
2001-02-09 16:47 ` Brian Rogoff
2001-02-09 21:45 ` William Chesters

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3145774E67D8D111BE6E00C0DF418B663AD79C@nt.kal.com \
    --to=dave@kal.com \
    --cc=bpr@best.com \
    --cc=caml-list@inria.fr \
    --cc=crusso@microsoft.com \
    --cc=frisch@clipper.ens.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).