
5 Feb
2009
5 Feb
'09
10:27 a.m.
Hello Gregg, Thursday, February 5, 2009, 6:20:06 PM, you wrote:
An optimizer can see that the result of the first getChar is discarded and replace the entire expression with one getChar without changing the formal semantics.
this is prohibited by using pseudo-value of type RealWorld which is passed through entire action stream. actually, order of execution is controlled by dependencies on this values http://haskell.org/haskellwiki/IO_inside -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com