From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA00524 for caml-redistribution; Fri, 22 Jan 1999 18:51:21 +0100 (MET) 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 MAA17252 for ; Fri, 22 Jan 1999 12:33:54 +0100 (MET) Received: from mailserver.cli.di.unipi.it (alice.cli.di.unipi.it [131.114.11.37]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id MAA24442 for ; Fri, 22 Jan 1999 12:33:51 +0100 (MET) Organization: Centro di Calcolo - Dipartimento di Informatica di Pisa - Italy Received: from fire.cli.di.unipi.it (IDENT:qmailr@fire-ext.cli.di.unipi.it [131.114.11.52]) by mailserver.cli.di.unipi.it (8.9.1a/8.9.1) with SMTP id MAA24181 for ; Fri, 22 Jan 1999 12:34:28 +0100 (MET) Received: (qmail 17575 invoked by uid 7794); 22 Jan 1999 11:33:32 -0000 Received: from carlotta.cli.di.unipi.it(131.114.11.15) via SMTP by alice.cli.di.unipi.it, id smtpda17557; Fri Jan 22 12:33:21 1999 Received: from localhost (bernardp@localhost) by carlotta.cli.di.unipi.it (8.8.5/8.6.12) with SMTP id MAA01014; Fri, 22 Jan 1999 12:34:01 +0100 (MET) X-Authentication-Warning: carlotta.cli.di.unipi.it: bernardp owned process doing -bs Date: Fri, 22 Jan 1999 12:34:00 +0100 (MET) From: Pierpaolo Bernardi To: Markus Mottl cc: OCAML Subject: Re: Okasaki's "Purely Functional Data Structures" translated to In-Reply-To: <199901211455.PAA32009@miss.wu-wien.ac.at> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis On Thu, 21 Jan 1999, Markus Mottl wrote: > Although this implementation seems to be quite perfect, I have allowed > myself to make some very small changes, so that it can be immediately > used as a module and fits better to the way modules are implemented in > the standard library. Good. > The following changes should be noted: > * The type of these lists is not "ralist" anymore in the module but > "t". This corresponds to the way this is handled in the standard > modules. Rigth. > * A somewhat bigger change: the type of the list is not: > > type 'a ralist = Nil | Root of int * 'a tree * 'a ralist > > but now: > > type 'a t = (int * 'a tree) list > > I think that new users will understand details of implementation > easier with this change. It also comes closer to Okasaki's version. Okasaki in his paper on RALs presents both versions. The one I used is faster for Ocaml, so I suggest that you use the version I sent. Users should use the book or the paper to understand details. > * The rest of the changes concern mainly layout (hardly noticable). De gustibus... 8-) Cheers, Pierpaolo