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.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe