| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Control.Monad.Gen
Synopsis
- data GenT e m a
- type Gen e = GenT e Identity
- module Control.Monad.Gen.Class
- data Successor a
- successor :: (e -> e) -> Successor e
- runGenT :: (Enum e, Monad m) => GenT e m a -> m a
- runGen :: Enum e => Gen e a -> a
- runGenTWith :: Monad m => Successor e -> e -> GenT e m a -> m a
- runGenWith :: Successor e -> e -> Gen e a -> a
- runGenTFrom :: (Monad m, Enum e) => e -> GenT e m a -> m a
- runGenFrom :: Enum e => e -> Gen e a -> a
Documentation
The monad transformer for generating fresh values.
Instances
| MonadWriter w m => MonadWriter w (GenT e m) Source # | |
| MonadState s m => MonadState s (GenT e m) Source # | |
| MonadReader r m => MonadReader r (GenT e m) Source # | |
| MonadError e m => MonadError e (GenT e' m) Source # | |
Defined in Control.Monad.Gen Methods throwError :: e -> GenT e' m a Source # catchError :: GenT e' m a -> (e -> GenT e' m a) -> GenT e' m a Source # | |
| Monad m => MonadGen e (GenT e m) Source # | |
Defined in Control.Monad.Gen | |
| MonadTrans (GenT e) Source # | |
| Monad m => Monad (GenT e m) Source # | |
| Functor m => Functor (GenT e m) Source # | |
| MonadFix m => MonadFix (GenT e m) Source # | |
| (Functor f, Monad f) => Applicative (GenT e f) Source # | |
Defined in Control.Monad.Gen | |
| MonadIO m => MonadIO (GenT e m) Source # | |
| (Monad m, Functor m, MonadPlus m) => Alternative (GenT e m) Source # | |
| MonadPlus m => MonadPlus (GenT e m) Source # | |
| MonadCont m => MonadCont (GenT e m) Source # | |
module Control.Monad.Gen.Class
runGenT :: (Enum e, Monad m) => GenT e m a -> m a Source #
Run a GenT computation starting from the value
toEnum 0
runGenTWith :: Monad m => Successor e -> e -> GenT e m a -> m a Source #
Run a GenT computation starting from a specific value e with
a the next fresh value determined by Successor e.
runGenWith :: Successor e -> e -> Gen e a -> a Source #
Run a GenT computation starting from a specific value e with
a the next fresh value determined by Successor e.
runGenTFrom :: (Monad m, Enum e) => e -> GenT e m a -> m a Source #
Run a GenT computation starting from a specific value e.
runGenFrom :: Enum e => e -> Gen e a -> a Source #
Run a Gen computation starting from a specific value e.