From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id HAA03666; Sat, 1 May 2004 07:13:05 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id HAA03709 for ; Sat, 1 May 2004 07:13:04 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i415D1SH020636 for ; Sat, 1 May 2004 07:13:02 +0200 Received: from [192.168.1.200] (ppp116-155.lns1.syd2.internode.on.net [150.101.116.155]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i415CvZq086320; Sat, 1 May 2004 14:42:58 +0930 (CST) Subject: Re: [Caml-list] List.rev From: skaller Reply-To: skaller@users.sourceforge.net To: brogoff@speakeasy.net Cc: caml-list In-Reply-To: References: <20040430175429.GB11118@online.fr> <4092A448.6080909@1969.ws> <1083376750.2581.183.camel@pelican.wigram> Content-Type: text/plain Message-Id: <1083388377.2581.383.camel@pelican.wigram> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 01 May 2004 15:12:57 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 409331DD.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 sourceforge:01 2004:99 38,:01 brogoff:01 provably:01 tail-rec:01 tail-rec:01 9660:01 glebe:01 speakeasy:01 behaviour:01 nsw:01 snail:02 complexity:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, 2004-05-01 at 14:38, brogoff@speakeasy.net wrote: > On Fri, 1 May 2004, skaller wrote: > > BTW: documentation that says a function is 'tail recursive' > > is misguided. That's an implementation detail of no > > possible use to a user of the function. The user may > > benefit from knowing the complexity of the function > > in terms of speed and auxilliary storage required. > > You couldn't be more wrong. Due respect but I am quite correct and provably so. Tail-rec is a property of an actual function implementation. The term has no meaning without exhibiting implementation code, and it is usual for libraries to quite pointedly NOT do that: instead the behaviour is specified in terms of input and output of the function, and also side effects in terms of time and storage requirements are sometimes thrown in for more detail. Saying tail-rec is suggestive only if you have an implementation in your minds-eye. It is good the documentation says the function is tail-rec, this is better than no performance information BUT IT IS STILL NOT A NORMATIVE SPECIFICATION. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners