From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id CECA4BC6B for ; Thu, 28 Jun 2007 13:43:01 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.169]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5SBh1Y9015314 for ; Thu, 28 Jun 2007 13:43:01 +0200 Received: by ug-out-1314.google.com with SMTP id o2so514030uge for ; Thu, 28 Jun 2007 04:43:01 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:in-reply-to:references:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=bVB003ONhcMQyY147YWg7ymUTfo244SVTbsofx3IBFzTmFqxpgEMxvF7VC6w7RX3EKW3HQBcGB3keAkUfeKw8ov7LDThY3iAWQgrZvrnVCdrhZ9KuyZYWfSjVnf22EAGgA3sitTZwbN/cm0KVRsIGTueVCBlrM1HQVTJfBLOwLo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:in-reply-to:references:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=LugaftIA1gdJB3rmiN97pDhnYmUQF+VLWcyhzErwVkkETYGD3ozsJXBSe2GZQzSp5r/QkGjCpQzM/WwK3Utfa1GdVK1ujPmX7nYhISQpQ/dlmD4NToMFqro84OmFSNXa6JMyzXR1aOJj8cA/Jc0b8BHKq7Xvmhh5Ba1qoQ+bydU= Received: by 10.67.19.13 with SMTP id w13mr1857081ugi.1183030981143; Thu, 28 Jun 2007 04:43:01 -0700 (PDT) Received: from ?192.168.1.35? ( [81.32.170.32]) by mx.google.com with ESMTP id k28sm5383704ugd.2007.06.28.04.42.59 (version=SSLv3 cipher=OTHER); Thu, 28 Jun 2007 04:43:00 -0700 (PDT) In-Reply-To: <200706281232.01643.jon@ffconsultancy.com> References: <200706271314.35134.jon@ffconsultancy.com> <200706271653.27116.jon@ffconsultancy.com> <4683950E.3060609@functionality.de> <200706281232.01643.jon@ffconsultancy.com> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <58DA3107-BFD2-4ADF-A903-2CB63C6D29C2@gmail.com> Cc: caml-list@yquem.inria.fr Content-Transfer-Encoding: 7bit From: Joel Reymont Subject: Re: [Caml-list] The Implicit Accumulator: a design pattern using optional arguments Date: Thu, 28 Jun 2007 12:42:57 +0100 To: Jon Harrop X-Mailer: Apple Mail (2.752.3) X-j-chkmail-Score: MSGID : 46839EC5.000 on discorde : j-chkmail score : XXX : 5/20 1 0.000 -> 3 X-Miltered: at discorde with ID 46839EC5.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; compiler:01 28,:98 2007,:98 blog:98 wrote:01 rec:01 clearer:01 caml-list:01 lisp:01 nums:01 match:02 idiomatic:02 idiomatic:02 implicit:03 let:03 Where does the 65% speed-up come from? Just from using match? On Jun 28, 2007, at 12:32 PM, Jon Harrop wrote: > I would write: > > let rec work sum = function > | 0 -> sum > | todo -> work (sum + todo) (todo - 1) > > let sum_nums n = work 0 n > > because it is shorter, clearer, 65% faster and it is idiomatic ML > rather than > idiomatic Lisp. -- http://topdog.cc - EasyLanguage to C# compiler http://wagerlabs.com - Blog