| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Annotations.MultiRec.Yield
- class Monad m => MonadYield m where
- data YieldT x fam m a
- type Yield x fam = YieldT x fam Identity
- runYield :: EqS fam => fam a -> Yield x fam a -> Maybe (AnnFix x fam a)
- runYieldG :: Yield x fam a -> (a, Maybe (AnyAnnFix x fam))
- runYieldT :: (Monad m, EqS fam) => fam a -> YieldT x fam m a -> m (Maybe (AnnFix x fam a))
- runYieldTG :: Monad m => YieldT x fam m a -> m (a, Maybe (AnyAnnFix x fam))
Documentation
class Monad m => MonadYield m where Source
Monads that allow yielding recursively annotated values.
The Yield transformer. Allows yielding generic values in family fam with annotations of type x.
Instances
| MonadTrans (YieldT x fam) | |
| Monad m => Monad (YieldT x fam m) | |
| Functor m => Functor (YieldT x fam m) | |
| (Monad m, Functor m) => Applicative (YieldT x fam m) | |
| (Monad m, HFunctor fam (PF fam), EqS fam, Fam fam) => MonadYield (YieldT x fam m) | |
| type YieldFam (YieldT x fam m) = fam | |
| type AnnType (YieldT x fam m) = x |