caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Frederic Tronel <Frederic.Tronel@inrialpes.fr>
To: Jacques Garrigue <garrigue@kurims.kyoto-u.ac.jp>, caml-list@inria.fr
Subject: Re: [Caml-list] Parametric and recursive classes and exponentialtyping
Date: Thu, 06 Jun 2002 16:11:24 +0200	[thread overview]
Message-ID: <3CFF6D8C.1B462375@inrialpes.fr> (raw)
In-Reply-To: <20020606224403Y.garrigue@kurims.kyoto-u.ac.jp>

Jacques Garrigue wrote:
> 
> From: Frederic Tronel <Frederic.Tronel@inrialpes.fr>
> 
> > I'm facing the following problem:
> > I'm trying to compile a program with a lot of recursive and
> > parametric classes. Compilation time is getting longer and longer,
> > and the behavior seems rather chaotic. I mean that very small changes in
> > the code
> > can lead to huge extra compilation time. Is there any solution, am I
> > guarantee
> > that compilation will end up (more than 23 minutes for a single file
> > that is
> > not yet compiled !! at the moment).
> 
> Track down single coercions (_ :> t2) and replace them with full ones
> (_ : t1 :> t2) as much possible. This improves predictability and
> performance.
> 

Ok I'll try it.

> > I'm using ocaml 3.04 plus a patch for parametric classes.
> 
> What is your patch? Classes are already parametric, no?

A patch posted by Jerome Vouillon on this list to fix bug ID 841

--- typing/ctype.ml~    Thu Jan 31 13:57:23 2002
+++ typing/ctype.ml     Thu Jan 31 13:57:25 2002
@@ -1129,6 +1129,7 @@
   
   let create_recursion = (t2 != t2') && (deep_occur t1' t2) in
   occur env t1' t2;
+  occur env t1' t2;
   update_level env t1'.level t2;
   t1'.desc <- Tlink t2;



> 
> > Should I try the CVS ?
> 
> Probably. As I explained some time ago, a few exponentials have been
> tamed recently to linear or quadratic.
> Note that now single coercion shouldn't bother you for performance
> anymore, but they may be slightly weaker than before in some cases.
> 

I will give it a try. In the mean time, I have suppressed a mutual
dependance
between two classes, and recover a reasonnable behavior. 


Best regards,

Frederic.
-------------------
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-06-06 14:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-06 12:07 [Caml-list] Parametric and recursive classes and exponential typing Frederic Tronel
2002-06-06 13:44 ` Jacques Garrigue
2002-06-06 14:11   ` Frederic Tronel [this message]
2002-06-06 14:22 ` John Max Skaller

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=3CFF6D8C.1B462375@inrialpes.fr \
    --to=frederic.tronel@inrialpes.fr \
    --cc=caml-list@inria.fr \
    --cc=garrigue@kurims.kyoto-u.ac.jp \
    /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).