caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Michael Hicks" <mhicks@cs.cornell.edu>
To: "David Monniaux" <David.Monniaux@ens.fr>,
	"Xavier Leroy" <xavier.leroy@inria.fr>
Cc: "Liste CAML" <caml-list@inria.fr>
Subject: RE: [Caml-list] optimizing functors
Date: Mon, 4 Feb 2002 09:12:03 -0500	[thread overview]
Message-ID: <706871B20764CD449DB0E8E3D81C4D4301E90835@opus.cs.cornell.edu> (raw)

I believe that the MLton compiler, which is a whole-program compiler for SML, does this sort of optimization.  See http://www.sourcelight.com/MLton/.

Mike

> -----Original Message-----
> From: David Monniaux [mailto:David.Monniaux@ens.fr]
> Sent: Monday, February 04, 2002 7:50 AM
> To: Xavier Leroy
> Cc: Liste CAML
> Subject: Re: [Caml-list] optimizing functors
> 
> 
> On Sat, 2 Feb 2002, Xavier Leroy wrote:
> 
> > Yes, but not across functor applications.  More precisely, functions
> > that are passed through a functor parameter cannot be inlined nor
> > called with the optimized "direct" application scheme, they 
> always go
> > through the generic "indirect-through-closure" application scheme.
> 
> I realize that the current scheme of implementing modules as 
> records is
> (relatively) simple and allows easy separate compilation. However, it
> prevents optimizations, as you said.
> 
> In code containing many modules consisting of a few small 
> functions called
> by functions in functors, this lack of optimization may be costly.
> 
> I was thinking of implementing such functors similarly as C++ 
> templates
> (expanding the functor parameters). Has some work been done on this?
> 
>  
> David Monniaux            http://www.di.ens.fr/~monniaux
> Laboratoire d'informatique de l'École Normale Supérieure,
> Paris, France
> 
> 
> -------------------
> Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: 
http://caml.inria.fr/FAQ/
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/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


             reply	other threads:[~2002-02-04 14:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-04 14:12 Michael Hicks [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-01-31  6:49 David Monniaux
2002-02-02 17:59 ` Xavier Leroy
2002-02-04 12:50   ` David Monniaux
2002-02-05  8:11     ` Francois Pottier

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=706871B20764CD449DB0E8E3D81C4D4301E90835@opus.cs.cornell.edu \
    --to=mhicks@cs.cornell.edu \
    --cc=David.Monniaux@ens.fr \
    --cc=caml-list@inria.fr \
    --cc=xavier.leroy@inria.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).