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 NAA30702 for caml-redistribution; Wed, 20 Jan 1999 13:58:05 +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 BAA30814 for ; Wed, 20 Jan 1999 01:34:26 +0100 (MET) Received: from miss.wu-wien.ac.at (miss.wu-wien.ac.at [137.208.107.17]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id BAA16146 for ; Wed, 20 Jan 1999 01:34:24 +0100 (MET) Received: (from mottl@localhost) by miss.wu-wien.ac.at (8.9.0/8.9.0) id BAA07959; Wed, 20 Jan 1999 01:34:22 +0100 (MET) From: Markus Mottl Message-Id: <199901200034.BAA07959@miss.wu-wien.ac.at> Subject: Re: Okasaki's "Purely Functional Data Structures" translated to To: bernardp@cli.di.unipi.it (Pierpaolo Bernardi) Date: Wed, 20 Jan 1999 01:34:22 +0100 (MET) Cc: caml-list@inria.fr (OCAML) In-Reply-To: from "Pierpaolo Bernardi" at Jan 19, 99 06:27:51 pm X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: weis Hello, > I have translated the Random Access List structure, and have > written equivalents for most of the Ocaml list library functions. > > If you wish, I'll send what I have done to you. > > I would have liked to translate more of the code, but I am still waiting > for the book to arrive (I have ordered it several months ago). As it seems, Okasaki's book is out-of-print at the moment - by some miracle I was able to get one at our university book shop. But you need not necessarily wait for the book to get the sources. The SML- and Haskell-version can be downloaded from his site at: http://www.cs.columbia.edu/~cdo/papers.html It would be really nice to get your implementations of data structures. I have not yet come to the Random Access List, although it is certainly one of the funnier data structures: random access to elements of lists in O(log n) - I like that! Until now, OCAML's standard library only contains the most basic data structures. I am sure many people would like to see some more to choose from. As someone has already mentioned, the interfaces of the modules in the sources are everything else but "fat". They support basic functionality only. But it shouldn't be too difficult to add some further functions to make things comfortable - the really tricky things are already mostly implemented (though, hidden behind module interfaces). Porting the sources is not difficult - should be possible for people with basic knowledge in OCAML. I have not yet used SML, but it's (nearly) always clear, what has to be changed. Regards, Markus Mottl -- Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl