[Haskell-cafe] Equivalent of if/then/else for IO Bool?

Dougal Stanton ithika at gmail.com
Thu Nov 23 16:34:49 EST 2006

Is there some sort of equivalent of the if/then/else construct for use
in the IO monad? For instance the following can get quite tedious:

> do bool <- doesFileExist filename
>    if bool
>    then sth
>    else sth'

Is there a more compact way of writing that? Something akin to:

> condM (doesFileExist filename) (sth) (sth')

Or maybe there's a more sensible way of doing the above that I've
missed. I seem to use endless alternate conditions sometimes and there's
bound to be a better way.

More information about the Haskell-Cafe mailing list