On Thu, Mar 5, 2009 at 7:08 AM, Simon Marlow <span dir="ltr">&lt;<a href="mailto:marlowsd@gmail.com">marlowsd@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
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&#39;t believe in either of those things :-)<br>

<br>
</blockquote><div><br>Surely there&#39;s a quantum mechanical metaphor waiting to happen here.<br><br>   getCat ::  IO Cat<br><br>If &quot;getCat&quot; appears in a program text, does it denote or not?  Or both?  If it does, is the cat alive or dead? (Apologies to <a href="http://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat">Schrodinger</a>). <br>
</div></div><br>-gregg<br>