
26 May
2006
26 May
'06
7:26 a.m.
On Fri, May 26, 2006 at 11:52:34AM +0100, Simon Marlow wrote:
I'm not even certain that lazy I/O doesn't upset referential transparency. It seems hard to construct a concrete counter example though. My intuition is something like this: if evaluating a thunk can cause IO to take place, then the act of evaluating that thunk might affect the value of another lazy I/O computation, and hence it should be possible to get different results by evaluating the thunks in a different order. I'm concerned that in the presence of dependencies between lazy I/O computations, the order of evaluation might be visible.
Each time you say I/O here, you mean "input", I think.