| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Control.Eff.Lift
Contents
Description
Lifting primitive Monad types to effectful computations. We only allow a single Lifted Monad because Monads aren't commutative (e.g. Maybe (IO a) is functionally distinct from IO (Maybe a)).
Documentation
Lift a Monad m to an effect.
Constructors
| Lift (m a) (a -> v) |
lift :: (Typeable m, SetMember Lift (Lift m) r) => m a -> Eff r a Source #
Lift a Monad to an Effect.
runLift :: (Monad m, Typeable m) => Eff (Lift m :> Void) w -> m w Source #
The handler of Lift requests. It is meant to be terminal: we only allow a single Lifted Monad.