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=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 11635BC6B for ; Thu, 28 Jun 2007 18:03:29 +0200 (CEST) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.186]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5SG3SvJ019047 for ; Thu, 28 Jun 2007 18:03:28 +0200 Received: from [141.84.136.30] (helo=[152.78.96.56]) by mrelayeu.kundenserver.de (node=mrelayeu0) with ESMTP (Nemesis), id 0MKwh2-1I3wSZ24vA-0004Dd; Thu, 28 Jun 2007 18:03:27 +0200 Message-ID: <4683DBCD.9020509@functionality.de> Date: Thu, 28 Jun 2007 17:03:25 +0100 From: Thomas Fischbacher User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060607 Debian/1.7.12-1.2 X-Accept-Language: en MIME-Version: 1.0 To: Jon Harrop Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] The Implicit Accumulator: a design pattern using optional arguments References: <200706271314.35134.jon@ffconsultancy.com> <85519A86-E765-4C3A-B292-2F9B150913AC@lrde.epita.fr> <46839DD8.7040200@functionality.de> <200706281544.36719.jon@ffconsultancy.com> In-Reply-To: <200706281544.36719.jon@ffconsultancy.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V01U2FsdGVkX1/P/l1lzjL1UcPoeF5F7WN8GVxX0HCvxtabC7k hp43zZqaEDU0/QlyULlD8wDdMk6uVeJbVjqCPnSOW4OtdzrIby aZuCCDcANYyqSajaW/4hg== X-Miltered: at concorde with ID 4683DBD0.003 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; stack:01 stack:01 threading:01 wrote:01 caml-list:01 functions:01 functions:01 precisely:01 awkward:02 argument:02 implicit:03 pattern:04 accumulator:05 context:06 arguments:07 Jon Harrop wrote: > Pass the stack as an argument to those functions that need it. Precisely this is how you would have to do this with ML. But then, if you do not just deal with one stack, but have more complicated context, OR if you have to start thinking about threading the stack through functions that do not use it, but use other functions which use it, things easily get quite awkward. -- best regards, Thomas Fischbacher tf@functionality.de