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

Test.QuickCheck.StateModel.Lockstep.Op.SumProd

Synopsis

Documentation

data Op a b where Source #

Operations with support for products (pairs) and sums (Either)

Constructors

OpId :: Op a a 
OpFst :: Op (a, b) a 
OpSnd :: Op (b, a) a 
OpLeft :: Op (Either a b) a 
OpRight :: Op (Either b a) a 
OpComp :: Op b c -> Op a b -> Op a c 

Instances

Instances details
Operation Op Source # 
Instance details

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

Methods

opIdentity :: Op a a 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 #

Show (Op a b) Source # 
Instance details

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

Methods

showsPrec :: Int -> Op a b -> ShowS #

show :: Op a b -> String #

showList :: [Op a b] -> ShowS #

Eq (Op a b) Source # 
Instance details

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

Methods

(==) :: Op a b -> Op a b -> Bool #

(/=) :: Op a b -> Op a b -> Bool #

intOpId :: Op a b -> a -> Maybe b Source #