C program analyser in Ocaml?

From: Pierpaolo Bernardi (bernardp@cli.di.unipi.it)
Date: Fri Jan 22 1999 - 12:34:00 MET


Date: Fri, 22 Jan 1999 12:34:00 +0100 (MET)
From: Pierpaolo Bernardi <bernardp@cli.di.unipi.it>
To: Markus Mottl <mottl@miss.wu-wien.ac.at>
Subject: Re: Okasaki's "Purely Functional Data Structures" translated to
In-Reply-To: <199901211455.PAA32009@miss.wu-wien.ac.at>

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



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:18 MET