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 WAA21973; Sat, 24 Apr 2004 22:59:10 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA21869 for ; Sat, 24 Apr 2004 22:59:09 +0200 (MET DST) Received: from glockenspiel.complete.org (glockenspiel.complete.org [69.10.152.57]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i3OKx8jq001493 for ; Sat, 24 Apr 2004 22:59:08 +0200 Received: from localhost (localhost [127.0.0.1]) by glockenspiel.complete.org (Postfix) with ESMTP id 88CED79; Sat, 24 Apr 2004 15:59:10 -0500 (CDT) Received: from glockenspiel.complete.org ([127.0.0.1]) by localhost (glockenspiel [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 20085-06; Sat, 24 Apr 2004 15:59:10 -0500 (CDT) Received: from erwin.complete.org (unknown [12.149.180.20]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "erwin.complete.org", Issuer "John Goerzen -- Root CA" (verified OK)) by glockenspiel.complete.org (Postfix) with ESMTP id A9B99DF; Sat, 24 Apr 2004 15:59:08 -0500 (CDT) Received: from heinrich.complete.org (heinrich.lan.complete.org [10.200.0.15]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "christoph.complete.org", Issuer "John Goerzen -- Root CA" (verified OK)) by erwin.complete.org (Postfix) with ESMTP id C3241D53; Sat, 24 Apr 2004 15:58:57 -0500 (CDT) Received: by heinrich.complete.org (Postfix, from userid 1000) id 643941770; Sat, 24 Apr 2004 15:59:36 -0500 (CDT) Date: Sat, 24 Apr 2004 15:59:36 -0500 From: John Goerzen To: Oliver Bandel Cc: caml-list@inria.fr Subject: Re: [Caml-list] Should be INSIDE STANDARD-LIB: Hashtbl.keys Message-ID: <20040424205936.GE29097@complete.org> References: <20040421011904.GA1411@first.in-berlin.de> <20040423145141.B3686@pauillac.inria.fr> <20040423182906.GB4117@excelhustler.com> <20040423191010.GB1506@first.in-berlin.de> <20040423204149.GA6485@excelhustler.com> <20040424080904.GA821@first.in-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040424080904.GA821@first.in-berlin.de> User-Agent: Mutt/1.5.5.1+cvs20040105i X-Virus-Scanned: by amavisd-new-20030616-p7 (Debian) at complete.org X-Miltered: at nez-perce by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 hashtbl:01 2004:99 oliver:01 bandel:01 2004:99 imho:01 0200,:01 necessarily:02 stack:02 excessive:03 wrote:03 wrote:03 library:03 tail:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, Apr 24, 2004 at 10:09:04AM +0200, Oliver Bandel wrote: > On Fri, Apr 23, 2004 at 03:41:49PM -0500, John Goerzen wrote: > > OK, but why should we eliminate a useful function because 1% of uses > > of it will be slow? > > > > Make a note in the docs (like that notes that are there already that say > > "this function is not tail-recursive") and put it in for those that will > > find it useful. > > > What does the O()-notation have to do with tail recursiveness? > IMHO nothing. But I'm not a computer scientist. Maybe there > is a linkage between. But the O()-notation says something about the What I'm saying is this: a known problem with a function, whether it is excessive stack use or slow performance, is not necessarily a reason to keep it out of the standard library. The flaw should be noted in the documentation. And that's just what has been done with the non-tail-recursive functions. -- John ------------------- 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