Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- mutantLiftWith :: (Monad m, MonadTransControl t) => (RunDefault (Mutant v t) t -> m a) -> Mutant v t m a
- mutantRestoreT :: (Monad m, MonadTransControl t) => m (StT t a) -> Mutant v t m a
- data LiftWithTwice
- data RunTwice
- data RestoreTwice
- data LiftWithDropState
- data RestoreDropState
Documentation
mutantLiftWith :: (Monad m, MonadTransControl t) => (RunDefault (Mutant v t) t -> m a) -> Mutant v t m a Source #
mutantRestoreT :: (Monad m, MonadTransControl t) => m (StT t a) -> Mutant v t m a Source #
data LiftWithTwice Source #
An general way to get MonadTransControl
wrong is to run the base
computation twice when lifting...
Instances
MonadTransControl t => MonadTransControl (Mutant LiftWithTwice t) Source # | There should be no blanket |
Defined in Test.Monad.Control.Mutants type StT (Mutant LiftWithTwice t) a :: Type # liftWith :: Monad m => (Run (Mutant LiftWithTwice t) -> m a) -> Mutant LiftWithTwice t m a # restoreT :: Monad m => m (StT (Mutant LiftWithTwice t) a) -> Mutant LiftWithTwice t m a # | |
type StT (Mutant LiftWithTwice t) a Source # | |
Defined in Test.Monad.Control.Mutants |
Instances
MonadTransControl t => MonadTransControl (Mutant RunTwice t) Source # | |
type StT (Mutant RunTwice t) a Source # | |
Defined in Test.Monad.Control.Mutants |
data RestoreTwice Source #
... or run it twice when restoring.
Instances
MonadTransControl t => MonadTransControl (Mutant RestoreTwice t) Source # | |
Defined in Test.Monad.Control.Mutants type StT (Mutant RestoreTwice t) a :: Type # liftWith :: Monad m => (Run (Mutant RestoreTwice t) -> m a) -> Mutant RestoreTwice t m a # restoreT :: Monad m => m (StT (Mutant RestoreTwice t) a) -> Mutant RestoreTwice t m a # | |
type StT (Mutant RestoreTwice t) a Source # | |
Defined in Test.Monad.Control.Mutants |
State
data LiftWithDropState Source #
Instances
MonadTransControl (Mutant LiftWithDropState (StateT s)) Source # | |
Defined in Test.Monad.Control.Mutants liftWith :: Monad m => (Run (Mutant LiftWithDropState (StateT s)) -> m a) -> Mutant LiftWithDropState (StateT s) m a # restoreT :: Monad m => m (StT (Mutant LiftWithDropState (StateT s)) a) -> Mutant LiftWithDropState (StateT s) m a # | |
type StT (Mutant LiftWithDropState (StateT s)) a Source # | |
Defined in Test.Monad.Control.Mutants |
data RestoreDropState Source #
Instances
MonadTransControl (Mutant RestoreDropState (StateT s)) Source # | |
Defined in Test.Monad.Control.Mutants liftWith :: Monad m => (Run (Mutant RestoreDropState (StateT s)) -> m a) -> Mutant RestoreDropState (StateT s) m a # restoreT :: Monad m => m (StT (Mutant RestoreDropState (StateT s)) a) -> Mutant RestoreDropState (StateT s) m a # | |
type StT (Mutant RestoreDropState (StateT s)) a Source # | |
Defined in Test.Monad.Control.Mutants |