Oleg,

Once again, many thanks. This is great info. BTW, i realized that my
approach has an underlying process algebraic formulation. Roughly speaking,
you can think of the mutable collection as a tuple space in which the names
of the tuple space are the mutable locations in the collection. Updates
correspond to persistent (i.e. replicated) outputs, accesses correspond to
inputs. There is a natural interpretation of this approach in terms of
delimited continuations; but, i think the other way round -- interpreting
delimited continuations in terms of process algebraic operations -- is
actually more natural.

Best wishes,

--greg

On 6/23/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


Greg Meredith wrote:
> First, has anyone worked out a monadic
> approach to copy-on-write? (And, Is there any analysis of perf
> characteristics of said monadic schemes?)

If you use Zippers (Huet's or generic ones) with functional updates,
copy-on-write comes out automatically and by default. This is
explained in
        http://okmij.org/ftp/Computation/Continuations.html#zipper
and, in a more readable form, in a recent paper
        http://okmij.org/ftp/papers/context-OS.pdf

The web page also contains the complete code.




--
L.G. Meredith
Managing Partner
Biosimilarity LLC
505 N 72nd St
Seattle, WA 98103

+1 206.650.3740

http://biosimilarity.blogspot.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to