From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA22563; Thu, 6 May 2004 18:35:55 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA22289 for ; Thu, 6 May 2004 18:35:54 +0200 (MET DST) Received: from mail3.speakeasy.net (mail3.speakeasy.net [216.254.0.203]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i46GZqSH014169 for ; Thu, 6 May 2004 18:35:53 +0200 Received: (qmail 26929 invoked from network); 6 May 2004 16:35:51 -0000 Received: from shell2.speakeasy.net ([69.17.110.71]) (envelope-sender ) by mail3.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 6 May 2004 16:35:51 -0000 Date: Thu, 6 May 2004 09:35:50 -0700 (PDT) From: brogoff To: Julien Signoles cc: Jon Harrop , caml-list@inria.fr Subject: Re: [Caml-list] Functors In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Miltered: at concorde with ID 409A6968.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brogoff:01 brogoff:01 caml-list:01 functors:01 signoles:01 functorized:01 stinking:01 functorized:01 ocamldefun:01 filliatre's:01 ocamldefun:01 mlton:01 mlton:01 compiler:01 compiler:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Thu, 6 May 2004, Julien Signoles wrote: > > In any case, the absence of a defunctorization step means that we often > > have a choice between performance and a functorized programming style, = which > > stinks. > > I don't think you have a stinking choice. > My opinion is: always choose a > functorized programming style and, if this style significantly reduces > performance, then use a defunctorizer like ocamldefun. For example, see > the Jean-Christophe Filli=E2tre's contribution to this thread > (http://caml.inria.fr/archives/200405/msg00087.html). JCF said he manually defunctorized. I'd prefer not to have to butcher my co= de to achieve performance, and I'd rather have the compiler do it, if it can. If ocamldefun can do the work, then I'd rather that there is a compiler swi= tch to call it transparently rather than have to add more gunk to my makefiles. Of course, if ocamldefun can do it, modifying one of the existing build systems to add a defunctorization pass is also an option. > > MLton began as an SML defunctorizer if I'm not mistaken, but has evolve= d > > into a whole program optimizing compiler. > > You're not mistaken :-). See http://www.mlton.org/history.html. So, are you planning to evolve ocamldefun into a whole program optimizing OCaml compiler? :-) -- Brian ------------------- 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