From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 12163BBA7 for ; Sun, 5 Feb 2006 17:59:02 +0100 (CET) Received: from uproxy.gmail.com (uproxy.gmail.com [66.249.92.202]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k15Gx1YB005168 for ; Sun, 5 Feb 2006 17:59:01 +0100 Received: by uproxy.gmail.com with SMTP id e2so510829ugf for ; Sun, 05 Feb 2006 08:59:01 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=XqQ4Q8vavgCKB2nfFTQ6yq4qMX7/m9gB3gfwe+VB/ejLS+OA+5LIIV5W8C3qcO7PEvNxZ4inXxnPvCJAhKBpV9JEU0VWLUIPeusu1gsrYD5+DgIx4uMIG+D7C1Vt58qHB/g5EDLrTNc0PygKAHFmNbEhdSiTgDa4iAjjaXFETDE= Received: by 10.48.47.14 with SMTP id u14mr955292nfu; Sun, 05 Feb 2006 08:59:01 -0800 (PST) Received: by 10.49.88.11 with HTTP; Sun, 5 Feb 2006 08:59:00 -0800 (PST) Message-ID: <53c655920602050859k3e82b21ar54783443948a6301@mail.gmail.com> Date: Sun, 5 Feb 2006 17:59:00 +0100 From: David Baelde Reply-To: david.baelde@ens-lyon.org To: Till Varoquaux Subject: Re: [Caml-list] Curried form different from "normal" Cc: caml-list@yquem.inria.fr In-Reply-To: <9d3ec8300602050840ha03fcd2wf8a43bd7a09732f2@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <9d3ec8300602050840ha03fcd2wf8a43bd7a09732f2@mail.gmail.com> X-Miltered: at concorde with ID 43E62ED5.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 curried:01 trailing:01 buffer:01 buffer:01 buf:01 purely:02 functional:02 white:94 white:94 definition:07 fun:08 gmail:09 outermost:09 instantiated:09 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 Hi, Your statement is true only for purely functional definitions. Here, there is a difference. The following piece of code is evaluated only one, at the time of the outermost definition. So trailing is instantiated only once. > if !is_first then > trailling:=3DBuffer.contents white > else > Buffer.add_buffer buf white; > Buffer.reset white; > is_first:=3Dfalse; This kind of effect is sometimes expected, however. Have fun. -- David