| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Savage
Documentation
Monad transformer which can generate random values of a.
Instances
| MMonad GenT Source # | |
| MonadTrans GenT Source # | |
| Distributive GenT Source # | |
| MonadBase b m => MonadBase b (GenT m) Source # | |
| MonadError e m => MonadError e (GenT m) Source # | |
| MonadReader r m => MonadReader r (GenT m) Source # | |
| MonadState s m => MonadState s (GenT m) Source # | |
| MonadWriter w m => MonadWriter w (GenT m) Source # | |
| Monad m => Monad (GenT m) Source # | |
| Functor m => Functor (GenT m) Source # | |
| Monad m => Applicative (GenT m) Source # | |
| MonadIO m => MonadIO (GenT m) Source # | |
| Monad m => Alternative (GenT m) Source # | |
| Monad m => MonadPlus (GenT m) Source # | |
| MonadCatch m => MonadCatch (GenT m) Source # | |
| MonadThrow m => MonadThrow (GenT m) Source # | |
| PrimMonad m => PrimMonad (GenT m) Source # | |
| MonadResource m => MonadResource (GenT m) Source # | |
| Monad m => MonadGen (GenT m) Source # | |
| MFunctor * GenT Source # | |
| type Transformer t GenT m Source # | |
| type PrimState (GenT m) Source # | |
class Monad m => MonadGen m where Source #
Class of monads which can generate input data for tests.
The functions on this class can, and should, be used without their Gen
suffix by importing Hedgehog.Gen qualified.
Methods
liftGen :: Gen a -> m a Source #
See Gen.lift
shrinkGen :: (a -> [a]) -> m a -> m a Source #
See Gen.shrink
pruneGen :: m a -> m a Source #
See Gen.prune
scaleGen :: (Size -> Size) -> m a -> m a Source #
See Gen.scale
freezeGen :: m a -> m (a, m a) Source #
See Gen.freeze
Instances
| MonadGen m => MonadGen (MaybeT m) Source # | |
| Monad m => MonadGen (GenT m) Source # | |
| (MonadGen m, Monoid w) => MonadGen (WriterT w m) Source # | |
| MonadGen m => MonadGen (StateT s m) Source # | |
| MonadGen m => MonadGen (ExceptT x m) Source # | |
| MonadGen m => MonadGen (IdentityT * m) Source # | |
| MonadGen m => MonadGen (StateT s m) Source # | |
| (MonadGen m, Monoid w) => MonadGen (WriterT w m) Source # | |
| MonadGen m => MonadGen (ReaderT * r m) Source # | |
| (MonadGen m, Monoid w) => MonadGen (RWST r w s m) Source # | |
| (MonadGen m, Monoid w) => MonadGen (RWST r w s m) Source # | |
A range describes the bounds of a number to generate, which may or may not
be dependent on a Size.
Tests are parameterized by the size of the randomly-generated data, the meaning of which depends on the particular generator used.
A splittable random number generator.
class Distributive g where Source #
Minimal complete definition
Associated Types
type Transformer (f :: (* -> *) -> * -> *) (g :: (* -> *) -> * -> *) (m :: * -> *) :: Constraint Source #
Methods
distribute :: Transformer f g m => g (f m) a -> f (g m) a Source #
Distribute one monad transformer over another.
Instances
| Distributive MaybeT Source # | |
| Distributive Tree Source # | |
| Distributive GenT Source # | |
| Monoid w => Distributive (WriterT w) Source # | |
| Distributive (ExceptT x) Source # | |
| Distributive (ReaderT * r) Source # | |