effin-0.1.0.0: A Typeable-free implementation of extensible effects

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Lift

Synopsis

Documentation

data Lift m a Source

An effect described by a monad. All monads are functors, but not all Monads have Functor instances. By wrapping a monad in the Lift effect, all monads can be used without having to provide a Functor instance for each one.

Instances

Monad m => Functor (Lift m) 

runLift :: Monad m => Effect `[Lift m]` a -> m a Source

Converts a computation containing only monadic effects into a monadic computation.

lift :: EffectLift m es => m a -> Effect es a Source

Lifts a monadic value into an effect.