
5 Mar
2009
5 Mar
'09
12:45 p.m.
On Thu, Mar 5, 2009 at 7:08 AM, Simon Marlow
So the argument is something like: we can think of the result of a call to unsafeInterleaveIO as having been chosen at the time we called unsafeInterleaveIO, rather than when its result is actually evaluated. This is on dodgy ground, IMO: either you admit that the IO monad contains an Oracle, or you admit it can time-travel. I don't believe in either of those things :-)
Surely there's a quantum mechanical metaphor waiting to happen here. getCat :: IO Cat If "getCat" appears in a program text, does it denote or not? Or both? If it does, is the cat alive or dead? (Apologies to Schrodingerhttp://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat). -gregg