[Haskell-cafe] Re: not possible with monad transformers ?
Tomasz Zielonka
tomasz.zielonka at gmail.com
Tue Nov 30 14:34:29 EST 2004
On Tue, Nov 30, 2004 at 06:36:46PM +0000, Pavel Zolnikov wrote:
> The problem is that code on line 4 is useless.
> If one of the arguments a or b is Nothing, computation will just return
> Nothing and will not bother to execute lines 4-5:
>
> 1 foo a b = do
> 2 output "before"
> 3 let r = liftM2 (+) a b
> 4 when (r == Nothing) $ output "error"
> 5 return r -- ??? "lift r"
Obviously you are talking about your version of code (with "r <- liftM2..."),
because for Mike's code your statement isn't true. How can "let" abort the
computation?
Best regards,
Tomasz
More information about the Haskell-Cafe
mailing list