caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Tom Hirschowitz <tom.hirschowitz@inria.fr>
To: Chris Hecker <checker@d6.com>
Cc: caml-list@inria.fr
Subject: [Caml-list] mixin modules paper and future?
Date: Wed, 28 Aug 2002 08:43:17 +0000	[thread overview]
Message-ID: <15724.36133.967472.326610@paille.inria.fr> (raw)
In-Reply-To: <4.3.2.7.2.20020826201812.02c89e20@mail.d6.com>


Hi Chris, 

 > While looking around Xavier's site, I came across this new paper (at least, 
 > new since last time I looked):
Last January yes.

 > 1.  First, the annoying obvious question:  Any wild guesses when this work 
 > will find its way into caml?  
 > I read the whole paper, but had to skim the 
 > lambda calc sections since my lambda-fu is not strong.  It's clear there 
 > are a number of open problems, so it's obviously not imminent in the next 
 > release, but it sure is cool (the way it unifies functors and recursion is 
 > great).

You're right, it is not at all planned for any future release. There
are too many open questions yet even to make any guess whether it will ever
find its way.  But thanks for your interest!

 > 2.  The paper has a few places where it mentions work that has to be done 
 > at init time, which sounded like runtime at the point where the mixin sum 
 > was computed.  Is this true?  

Almost, it would rather be at the time when the mixin is instanciated
(ie "closed").

 > For the very simple case of "I want to 
 > recurse between two compilation units like C++", is there still overhead 
 > that must happen at runtime and that can't be done at compile time?

In the present system yes, and it is a matter of design I believe.
For instance, even for your simple case, you have to first write unit
A, then unit B, and then create C = close(A + B), and that's in the
source language, so closing the recursion loop is really an operation
of the language.

But maybe you are asking for optimizations performing such tasks at
compile-time?  We haven't thought too much about such optimizations
yet, and that's probably a good question.  It is not a priority
though, since some design problems remain open, and the efficiency of
taking a mixin module instance is not supposed to be critical, in the
context of an extension of ML modules.

Please, tell me if I missed your point.

 > 3.  The following is from the paper:
 > 
 > >A drawback of dependency graphs is that programmers must (in principle)
 > >provide them explicitly when declaring a mixin signature, e.g. for a deferred
 > >sub-mixin component. This could make programs quite verbose.
 > 
 > I may have missed it, but I didn't see where this explicit graph thing came 
 > in, since none of the examples had it.  I assume you don't mean the type 
 > declaration of the deferred values, right?  Is there some other 
 > specification that's necessary?

Yes, we meant the type declaration of the deferred values. If a
deferred mixin is expected, its type must be provided by the
programmer. In the paper, we don't have considered type inference
issues, but it seems to be far from trivial, as described by papers
about objects and classes, which appear to have similar problems.

Bye,

Tom
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-08-28  8:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-27  3:33 Chris Hecker
2002-08-28  8:43 ` Tom Hirschowitz [this message]
2002-08-28 19:25   ` Chris Hecker
2002-08-29 10:11     ` M E Leypold @ labnet
2002-08-29 18:47       ` [Caml-list] objective caml and industry james woodyatt
2002-08-29 22:57         ` Michael Vanier
2002-08-29 23:52           ` james woodyatt
2002-08-30 13:13           ` Vitaly Lugovsky
2002-08-30 23:23             ` Michael Vanier
2002-08-30  2:25         ` Chris Hecker
2002-08-30 18:14           ` Jonathan Coupe
2002-09-01  9:18             ` What kind of industry do you mean? (Was: [Caml-list] objective caml and industry) Mattias Waldau
2002-09-01 20:15               ` Markus Mottl
2002-09-01 21:10                 ` [Caml-list] wxOCaml? Dave Mason
2002-09-02  6:23                 ` [Caml-list] Re: What kind of industry do you mean? (Was: objective caml and industry) Michaël Grünewald
2002-09-02 12:43               ` What kind of industry do you mean? (Was: [Caml-list] " Alessandro Baretta
2002-09-02 22:58                 ` Gerd Stolpmann
2002-09-03  6:58                   ` [Caml-list] Re: An XML standard API? (was:What kind of industry do you mean?) Alessandro Baretta
2002-09-02 18:15               ` What kind of industry do you mean? (Was: [Caml-list] objective caml and industry) Oleg
2002-08-30 18:14           ` [Caml-list] objective caml and industry Jonathan Coupe
2002-08-31  2:26         ` John Max Skaller
2002-09-02 18:38           ` Oleg
2002-08-30  2:21       ` [Caml-list] mixin modules paper and future? Chris Hecker

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=15724.36133.967472.326610@paille.inria.fr \
    --to=tom.hirschowitz@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=checker@d6.com \
    /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).