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 AAA23587; Sat, 11 May 2002 00:31:22 +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 AAA23674 for ; Sat, 11 May 2002 00:31:21 +0200 (MET DST) Received: from mailrelay1.inwind.it (mailrelay1.inwind.it [212.141.54.101]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g4AMVKH03570 for ; Sat, 11 May 2002 00:31:20 +0200 (MET DST) Received: from dalamar.takhisis.org (62.98.125.154) by mailrelay1.inwind.it (6.5.015) id 3CAA37A301AF3699 for caml-list@inria.fr; Sat, 11 May 2002 00:31:23 +0200 Received: from lordsoth.takhisis.org (lordsoth.takhisis.org [192.168.1.119]) by dalamar.takhisis.org (8.12.3/8.12.3/Debian -7) with ESMTP id g4AMVE93002774 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Sat, 11 May 2002 00:31:18 +0200 Received: from lordsoth.takhisis.org (lordsoth.takhisis.org [192.168.1.119]) by lordsoth.takhisis.org (8.12.3/8.12.3/Debian -7) with ESMTP id g4AMVB4d031252 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Sat, 11 May 2002 00:31:11 +0200 Received: (from zack@localhost) by lordsoth.takhisis.org (8.12.3/8.12.3/Debian -7) id g4AMVBYc031250 for caml-list@inria.fr; Sat, 11 May 2002 00:31:11 +0200 Date: Sat, 11 May 2002 00:31:10 +0200 From: Stefano Zacchiroli To: caml-list@inria.fr Subject: Re: [Caml-list] Suggestion about balanced trees in stdlib Message-ID: <20020510223110.GB31219@cs.unibo.it> Mail-Followup-To: caml-list@inria.fr References: <20020510185954.C635@ice.gerd-stolpmann.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020510185954.C635@ice.gerd-stolpmann.de> User-Agent: Mutt/1.3.28i Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, May 10, 2002 at 06:59:54PM +0200, Gerd Stolpmann wrote: > Of course, Set and Map would recur to that more special module. > > Balanced_tree would have the representation of Map, i.e. the elements are > pairs of keys and attached values. To emulate Set, the value () is used. I don't know how the compiler treat unit values wrt optimization or such, but using an unit in each node to emulate Set seems to me inefficient for a module of the standard library. I think, but I haven't thought a lot about it, that the problem can be solved using an implementation polymorphic in the leaf type hidden to the use that access Set and Map through functors as usual. Anyway the idea seems really good. I also suggest to add different kind of visit (i.e. not only iter) like {pre,post,in}visit via different functions or specifing the desired behaviour when using the functor or both. Cheers. -- Stefano Zacchiroli - undergraduate student of CS @ Univ. Bologna, Italy zack@cs.unibo.it | ICQ# 33538863 | http://www.cs.unibo.it/~zacchiro "I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!" -- G.Romney ------------------- 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