Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- bad_throwZero :: forall m b e. MonadError e m => e -> (e -> m b) -> Equation (m b)
- bad_throw_catch :: forall m a e. MonadError e m => e -> (e -> m a) -> Equation (m a)
- bad_catch_catch_1 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a)
- bad_catch_catch_2 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a)
- bad_catch_bind :: forall m a b e. MonadError e m => m a -> (a -> m b) -> (e -> m b) -> Equation (m b)
- data CatchDoesNothing
- type MutantExcept1T e = Mutant CatchDoesNothing (ExceptT e)
- type MutantExcept1 e = MutantExcept1T e Identity
- data CatchTwice
- type MutantExcept2T e = Mutant CatchTwice (ExceptT e)
- type MutantExcept2 e = MutantExcept2T e Identity
- data Recoverable
- type MutantRStateT s = Mutant Recoverable (StateT s)
Documentation
bad_throwZero :: forall m b e. MonadError e m => e -> (e -> m b) -> Equation (m b) Source #
bad_throw_catch :: forall m a e. MonadError e m => e -> (e -> m a) -> Equation (m a) Source #
bad_catch_catch_1 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a) Source #
bad_catch_catch_2 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a) Source #
bad_catch_bind :: forall m a b e. MonadError e m => m a -> (a -> m b) -> (e -> m b) -> Equation (m b) Source #
data CatchDoesNothing Source #
Instances
Monad m => MonadError e (MutantExcept1T e m) Source # | |
Defined in Test.Monad.Except.Mutants throwError :: e -> MutantExcept1T e m a # catchError :: MutantExcept1T e m a -> (e -> MutantExcept1T e m a) -> MutantExcept1T e m a # |
type MutantExcept1T e = Mutant CatchDoesNothing (ExceptT e) Source #
Fails:
'throw_catch'
Passes (wrongly):
'bad_throw_catch' 'bad_catch_catch_1' 'bad_catch_catch_2' 'bad_catch_bind'
type MutantExcept1 e = MutantExcept1T e Identity Source #
data CatchTwice Source #
Instances
Monad m => MonadError e (MutantExcept2T e m) Source # | |
Defined in Test.Monad.Except.Mutants throwError :: e -> MutantExcept2T e m a # catchError :: MutantExcept2T e m a -> (e -> MutantExcept2T e m a) -> MutantExcept2T e m a # |
type MutantExcept2T e = Mutant CatchTwice (ExceptT e) Source #
Fails:
'throw_catch' 'catch_catch'
type MutantExcept2 e = MutantExcept2T e Identity Source #
data Recoverable Source #
Instances
MonadError (e, s) m => MonadError e (MutantRStateT s m) Source # | |
Defined in Test.Monad.Except.Mutants throwError :: e -> MutantRStateT s m a # catchError :: MutantRStateT s m a -> (e -> MutantRStateT s m a) -> MutantRStateT s m a # |
type MutantRStateT s = Mutant Recoverable (StateT s) Source #