test-monad-laws-0.0.0.0: Laws for mtl classes as QuickCheck properties.

Safe HaskellNone
LanguageHaskell2010

Test.Monad.Except

Synopsis

Documentation

throwZero :: forall m b a e. MonadError e m => e -> (a -> m b) -> Equation (m b) Source #

throw_catch :: forall m a e. MonadError e m => e -> (e -> m a) -> Equation (m a) Source #

catch_throw :: forall m a e. MonadError e m => m a -> Equation (m a) Source #

catch_catch :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a) Source #

catch_return :: forall m a e. MonadError e m => a -> (e -> m a) -> Equation (m a) Source #

catch_bind :: forall m a b e. MonadError e m => m a -> (a -> m b) -> (e -> m b) -> Equation (m b) Source #

tryError :: forall m a e. MonadError e m => m a -> m (Either e a) Source #

except :: forall m a e. MonadError e m => Either e a -> m a Source #

This should be a monad homomorphism.