| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Test.QuickCheck.StateModel.Lockstep.Op
Synopsis
- class Operation op where
- opIdentity :: op a a
- class Operation op => InterpretOp op f where
- newtype WrapRealized m a = WrapRealized {
- unwrapRealized :: Realized m a
- 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)
- 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)
Documentation
class Operation op where Source #
Methods
opIdentity :: op a a Source #
Instances
| Operation Op Source # | |
Defined in Test.QuickCheck.StateModel.Lockstep.Op.Identity Methods opIdentity :: Op a a Source # | |
| Operation Op Source # | |
Defined in Test.QuickCheck.StateModel.Lockstep.Op.SumProd Methods opIdentity :: Op a a Source # | |
class Operation op => InterpretOp op f where Source #
Instances
| InterpretOp Op f Source # | |
| InterpretOp Op (WrapRealized IO) Source # | |
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 # | |
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 # | |
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
| |
Instances
| InterpretOp Op (WrapRealized IO) Source # | |
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 # | |
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 # | |
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 # | |
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.