On Mon, 2002-03-18 at 18:30, Simon Marlow wrote:
The spec could perhaps *require* that it was a pure value,
so that the
file contents is snapshotted at the time of the hGetContents and you
always get the same result regardless of subsequent or
concurrent I/O
operations. This can
I've been following this discussion with some interest. It seems to
me on important underlying problem is being hinted at, but has never
been made explicit:
* When we fork(), we lose sharing. *Any* lazy computation which
passes to both children is going to penalize you, sometimes in very
* When we fork(), we lose sharing. *Any* lazy computation which
passes to both children is going to penalize you, sometimes in very
surprising ways.
I'm not sure I understand why loss of sharing is the problem - losing
sharing for pure computations is by no means a disaster, it just