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