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 WAA09576; Fri, 23 Apr 2004 22:42:18 +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 WAA09194 for ; Fri, 23 Apr 2004 22:42:17 +0200 (MET DST) Received: from gatekeeper.elmer.external.excelhustler.com (gatekeeper.excelhustler.com [68.99.114.105]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i3NKgFYM007441 for ; Fri, 23 Apr 2004 22:42:16 +0200 Received: from chatterbox.elmer.internal.excelhustler.com (unknown [192.168.0.12]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (Client CN "chatterbox.elmer.internal.excelhustler.com", Issuer "excelhustler.com" (not verified)) by gatekeeper.elmer.external.excelhustler.com (Postfix) with ESMTP id 3B80CE013F; Fri, 23 Apr 2004 15:42:15 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by chatterbox.elmer.internal.excelhustler.com (Postfix) with ESMTP id F0FDD5C006; Fri, 23 Apr 2004 15:42:14 -0500 (CDT) Received: from wile.internal.excelhustler.com (wile.internal.excelhustler.com [192.168.1.34]) by chatterbox.elmer.internal.excelhustler.com (Postfix) with ESMTP id C895D5C005; Fri, 23 Apr 2004 15:42:14 -0500 (CDT) Received: by wile.internal.excelhustler.com (Postfix, from userid 1000) id C18774A; Fri, 23 Apr 2004 15:42:14 -0500 (CDT) Date: Fri, 23 Apr 2004 15:42:14 -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: <20040423204214.GB6485@excelhustler.com> References: <20040421011904.GA1411@first.in-berlin.de> <20040423145141.B3686@pauillac.inria.fr> <40891494.5030508@ens-lyon.org> <20040423180407.A20341@pauillac.inria.fr> <20040423182935.GC4117@excelhustler.com> <20040423190710.GA1506@first.in-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040423190710.GA1506@first.in-berlin.de> User-Agent: Mutt/1.5.5.1+cvs20040105i X-Scanned-By: clamscan at chatterbox.elmer.internal.excelhustler.com X-Miltered: at concorde 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 avoids:01 hash:01 incarnation:01 ocaml:01 0200,:01 0200,:01 necessarily:02 string:03 wrote:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, Apr 23, 2004 at 09:07:10PM +0200, Oliver Bandel wrote: > On Fri, Apr 23, 2004 at 01:29:35PM -0500, John Goerzen wrote: > > On Fri, Apr 23, 2004 at 06:04:07PM +0200, Xavier Leroy wrote: > > > repetition" is often not the best data structure for the job. > > > > And a keys function need not necessarily avoid repetition anyway. > > > [...] > > It ONLY makes sense to have a keys function that avoids repitition! I don't buy that. > Anything else can be done with List.iter and List.fold > from the outside of the Hashtbl-module implementation! And that doesn't mean that having the function is useless. Hell, Array.sub can be done entirely from pure OCaml. Ditto for String.sub. That doesn't mean that having it in the standard library is useless. It's a lot easier to read code that says "keys hash" than a fold incarnation. Not to mention being easier to write, maintain, and learn. -- 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