No, I think Artyom meant "assuming IO is lazy".
He intended to show that, indeed, it is not, or else side-effects would never be performed


2011/5/31 Scott Lawrence <bytbox@gmail.com>
On 05/31/2011 04:20 PM, Artyom Kazak wrote:
> Suppose iRecurse looks like this:
>   iRecurse = do
>     x <- launchMissiles
>     r <- iRecurse
>     return 1
>
> As x is never needed, launchMissiles will never execute. It obviously is
> not what is needed.

Prelude> let launchMissiles = putStrLn "UH OH" >> return 1
Prelude> let iRecurse = launchMissiles >> return 1
Prelude> iRecurse
UH OH
1
Prelude>

Looks like launchMissiles /does/ execute, even though x is (obviously)
never needed.



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe