[Haskell-cafe] Inverting a Monad
ajb at spamcop.net
ajb at spamcop.net
Wed Feb 6 18:20:13 EST 2008
G'day all.
On Feb 6, 2008 12:45 PM, Felipe Lessa <felipe.lessa at gmail.com> wrote:
>> I guess your parser is a monad transformer, so *maybe* the solution
>> is to require MonadError from the inner monad.
Quoting Bas van Dijk <v.dijk.bas at gmail.com>:
> Indeed my parser 'P t m a' is a monad transformer. I will try out
> requiring 'm' to have a 'MonadError' constraint and see how far I come
> with that.
I've occasionally found this useful:
class (Monad m) => MonadNegate m where
mtrue :: m ()
mfalse :: m ()
mnot :: m a -> m ()
mtrue = return ()
mfalse = fail "False"
Cheers,
Andrew Bromage
More information about the Haskell-Cafe
mailing list