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 8679FBBA7 for ; Sun, 5 Feb 2006 17:40:59 +0100 (CET) Received: from uproxy.gmail.com (uproxy.gmail.com [66.249.92.194]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k15GewXi002908 for ; Sun, 5 Feb 2006 17:40:59 +0100 Received: by uproxy.gmail.com with SMTP id e2so506628ugf for ; Sun, 05 Feb 2006 08:40:56 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=Ggn7CWPUg2x/HDJixf8HK2yzV1pwaHi3jsdFMgubrvNEGQYrpM2v5q8obZIk0cE1mCVwoRh4Unsev+JMIETCN/r1NIOdzqR9p4GHOC1Ev7WCja5pz5bP4q8/cuq0zv7D0dZJY+WnT0KTGK9wibsyRPPxtQaoCknqVDS2OSBZa2U= Received: by 10.48.244.4 with SMTP id r4mr953787nfh; Sun, 05 Feb 2006 08:40:56 -0800 (PST) Received: by 10.48.4.15 with HTTP; Sun, 5 Feb 2006 08:40:56 -0800 (PST) Message-ID: <9d3ec8300602050840ha03fcd2wf8a43bd7a09732f2@mail.gmail.com> Date: Sun, 5 Feb 2006 17:40:56 +0100 From: Till Varoquaux To: caml-list@yquem.inria.fr Subject: Curried form different from "normal" MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Miltered: at concorde with ID 43E62A9A.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; curried:01 buffer:01 buffer:01 buf:01 buf:01 cheers:01 functions:01 caml:02 blank:97 blank:97 puzzled:02 string:02 string:02 let:03 let:03 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 I can across something that puzzled me while develloping a caml application= : Using: let non_blank_string=3D if !is_first then =09trailling:=3DBuffer.contents white else =09Buffer.add_buffer buf white; Buffer.reset white; is_first:=3Dfalse; Buffer.add_string buf instead of let non_blank_string s=3D if !is_first then =09trailling:=3DBuffer.contents white else =09Buffer.add_buffer buf white; Buffer.reset white; is_first:=3Dfalse; Buffer.add_string buf s Doesn't yeld the same results (the former is buggy). Now, as I understand, these two functions should be exactly equivalent. I am misunderstanding something here? Cheers, Till Varoquaux