From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id D89FEBB81 for ; Sat, 1 Oct 2005 01:07:23 +0200 (CEST) Received: from first.in-berlin.de ([145.254.63.123]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j8UN7I82007834 for ; Sat, 1 Oct 2005 01:07:21 +0200 Received: by first.in-berlin.de (Postfix, from userid 501) id B4595160EA6; Sat, 1 Oct 2005 00:57:37 +0200 (CEST) Date: Sat, 1 Oct 2005 00:57:37 +0200 From: Oliver Bandel To: caml-list@yquem.inria.fr Subject: Re: Ant: Re: [Caml-list] Avoiding shared data Message-ID: <20050930225737.GA592@first.in-berlin.de> References: <20050926081727.GA9114@coruscant.stwing.upenn.edu> <20050926210730.55850.qmail@web26803.mail.ukl.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050926210730.55850.qmail@web26803.mail.ukl.yahoo.com> User-Agent: Mutt/1.5.6i X-Miltered: at nez-perce with ID 433DC526.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; oliver:01 bandel:01 oliver:01 in-berlin:01 caml-list:01 avoiding:01 mutable:01 recursion:01 recursive:01 substituted:01 recursive:01 26,:98 mor:98 ...:98 wrote:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.3 On Mon, Sep 26, 2005 at 11:07:30PM +0200, Martin Chabr wrote: > Hello William, > > I am using a mutable record. I am programming this 90% > in the imperative (non-functional) style, so that I > can rewrite critical parts into Fortran easily. > Another reason is, I am an intermediate user and > finding out whether the recursion is a tail-one or not > is difficult for me. When you 90% of your code are writing in imperative style and do not go deeper into the functional/recursive world, you will never be able to distinguish between tail-rec and non-tail-rec style. But: It is not really hard to find the distinction betwen the two styles, but often the explanations are not made well. Sometimes it's only one or two words in an explanation about tail-rec/non-tail-rec that must be substituted by other words, and the distinction can be made visible very easy. On the other hand: writing mor funtional/recursive code will make you more used to to this... Ciao, Oliver