quickcheck-lockstep-0.5.0: Library for lockstep-style testing with 'quickcheck-dynamic'
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.QuickCheck.StateModel.Lockstep.Op

Synopsis

Documentation

class Operation op where Source #

Methods

opIdentity :: op a a Source #

Instances

Instances details
Operation Op Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.Identity

Methods

opIdentity :: Op a a Source #

Operation Op Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.SumProd

Methods

opIdentity :: Op a a Source #

class Operation op => InterpretOp op f where Source #

Methods

intOp :: op a b -> f a -> Maybe (f b) Source #

Instances

Instances details
InterpretOp Op f Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.Identity

Methods

intOp :: Op a b -> f a -> Maybe (f b) Source #

InterpretOp Op (WrapRealized IO) Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.SumProd

Methods

intOp :: Op a b -> WrapRealized IO a -> Maybe (WrapRealized IO b) Source #

InterpretOp Op (WrapRealized m) => InterpretOp Op (WrapRealized (ReaderT r m)) Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.SumProd

Methods

intOp :: Op a b -> WrapRealized (ReaderT r m) a -> Maybe (WrapRealized (ReaderT r m) b) Source #

InterpretOp Op (WrapRealized m) => InterpretOp Op (WrapRealized (StateT s m)) Source # 
Instance details

Defined in Test.QuickCheck.StateModel.Lockstep.Op.SumProd

Methods

intOp :: Op a b -> WrapRealized (StateT s m) a -> Maybe (WrapRealized (StateT s m) b) Source #

newtype WrapRealized m a Source #

Constructors

WrapRealized 

Fields

intOpRealizedId :: (Realized m a ~ a, Realized m b ~ b) => (op a b -> a -> Maybe b) -> op a b -> WrapRealized m a -> Maybe (WrapRealized m b) Source #

Convenience function for defining InterpretOp instances

This can be used for monads like IO where Realized m a is just a.

intOpTransformer :: forall t m a b op. (Realized (t m) a ~ Realized m a, Realized (t m) b ~ Realized m b, InterpretOp op (WrapRealized m)) => op a b -> WrapRealized (t m) a -> Maybe (WrapRealized (t m) b) Source #

Convenience function for defining InterpretOp instances for monad transformer stacks.