Safe Haskell | None |
---|---|
Language | Haskell98 |
- 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
.
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 |