| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
Control.Monad.Zombie
Synopsis
- data Zombie t a where
- liftZ :: t a -> Zombie t a
- embalm :: MonadView t (Zombie t) a -> Zombie t a
- disembalm :: Zombie t a -> [MonadView t (Zombie t) a]
- disembalmBy :: r -> (MonadView t (Zombie t) a -> r -> r) -> Zombie t a -> r
- hoistZombie :: forall s t a. (forall x. s x -> t x) -> Zombie s a -> Zombie t a
Documentation
data Zombie t a where Source #
Zombie is a variant of Skeleton which has an Alternative instance.
Constructors
| Sunlight :: Zombie t a | |
| ReturnZ :: a -> Zombie t a -> Zombie t a | |
| BindZ :: t x -> Cat (Kleisli (Zombie t)) x a -> Zombie t a -> Zombie t a | 
embalm :: MonadView t (Zombie t) a -> Zombie t a Source #
Turn a decomposed form into a composed form.
disembalm :: Zombie t a -> [MonadView t (Zombie t) a] Source #
Decompose a zombie as a list of possibilities.
disembalmBy :: r -> (MonadView t (Zombie t) a -> r -> r) -> Zombie t a -> r Source #
Decompose a zombie as a list of possibilitie and fold the list.
hoistZombie :: forall s t a. (forall x. s x -> t x) -> Zombie s a -> Zombie t a Source #
Like hoistSkeleton