From: Claudio Russo <crusso@microsoft.com>
To: Brian Rogoff <bpr@best.com>, Xavier Leroy <Xavier.Leroy@inria.fr>
Cc: Alain Frisch <frisch@clipper.ens.fr>, Caml list <caml-list@inria.fr>
Subject: RE: first class modules (was: alternative module systems)
Date: Wed, 10 Jan 2001 02:32:43 -0800 [thread overview]
Message-ID: <112C6E8A1B25D34BB27D48D2FD2E96CFC9DED1@TVP-MSG-02.europe.corp.microsoft.com> (raw)
> > > a few month ago, Markus Mottl pointed to this mailing
> list the work by
> > > Claudio Russo on first class modules. There were no
> answer about plans to
> > > implement such a system for OCaml.
> >
> > Well, it seems like Russo's first-class modules could be added with
> > relatively little effort, if there is a sufficient need for them.
>
> Does this include the recursive modules aspect of Moscow ML
> too? That's
> where I feel the shoe pinching. I realize that at least one
> big name in
> the ML community dislikes the notion and admittedly my main
> issue could be
> resolved by a recursion between a type definition and a
> module but it can
> also be fixed with recursive modules. The problems arise
> fairly frequently.
The discussion is about first-class modules only, I think. Recursive
modules are
a completely separate issue. You can support either without the other.
Although Moscow supports recursive structures, their status is
"experimental",
but I thought adding something simple was better than nothing at all.
Recursive functors should be an easy generalisation of recursive
structures;
I didn't put them in because I couldn't find any nice examples (but I
didn't look very hard either).
> Do the implementors have any impressions as to whether the
> Moscow ML approach or
> the "mixin module" approach discussed here will be used to
> address this
> problem?
Has the mixin module stuff been formalised enough for actual
implementation? Moscow's recursive modules have the advantage that they
leverage many of the concepts already existing in the Definition. If I
recall correctly, they require one new kind of semantic object, a simple
generalisation of enrichment, and two new syntactic constructs with
associated evaluation and typing rules. Current main drawbacks: heavy
syntax requiring forward declarations,
no support for cross-compilation-unit recursion and recursion on module
terms requires a dynamic check for each
forward reference (this is because the implementation imposes no
restriction on whether the recursion is safe or not, forcing a dynamic
check for definedness). (BTW, the distribution has a minor bug but this
is fixed for the next release.)
Cheers,
Claudio
> -- Brian
>
>
next reply other threads:[~2001-01-10 18:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-10 10:32 Claudio Russo [this message]
2001-01-10 21:34 ` first class, recursive, mixin modules (was: RE: first class modules) Alain Frisch
-- strict thread matches above, loose matches on Subject: below --
2001-01-09 13:36 first class modules (was: alternative module systems) Claudio Russo
2001-01-08 15:11 Claudio Russo
2001-01-08 14:59 Claudio Russo
2001-01-08 13:48 Claudio Russo
2001-01-08 10:45 Claudio Russo
2001-01-08 12:17 ` Alain Frisch
2001-01-07 0:20 Alain Frisch
2001-01-07 23:26 ` Markus Mottl
2001-01-08 10:42 ` Xavier Leroy
2001-01-10 0:40 ` Brian Rogoff
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=112C6E8A1B25D34BB27D48D2FD2E96CFC9DED1@TVP-MSG-02.europe.corp.microsoft.com \
--to=crusso@microsoft.com \
--cc=Xavier.Leroy@inria.fr \
--cc=bpr@best.com \
--cc=caml-list@inria.fr \
--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).