On Jan 12, 2006, at 4:43 PM, Ian Lynagh wrote:

On Thu, Jan 12, 2006 at 04:32:30PM -0800, Jason Dagit wrote:

mand :: IO Bool -> IO Bool -> IO Bool
a `mand` b = do isa <- a
                if isa then b else return False

the definition of mand should be replaced by
the more idiomatic mand = liftM2 (&&).

That would cause b to be run regardless of the result of running a.

In that case I can add a comment explaining why it is not expressed in terms of liftM2, since that reason (and need) is not at all apparent to me when I look at the code.

Thanks,
Jason


_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to