transformers-eff-0.1.0.0: An approach to managing composable effects, ala mtl/transformers/extensible-effects/Eff

Safe HaskellNone
LanguageHaskell2010

Control.Effect.Environment

Documentation

class Monad m => EffEnvironment env m | m -> env where Source

Methods

liftReader :: Reader env a -> m a Source

Instances

EffEnvironment env m => EffEnvironment env (Eff effects m) Source 
Monad m => EffEnvironment env (Eff (Reader env) m) Source 

runInEnvironment :: Monad m => Eff (Reader env) m a -> env -> m a Source

ask :: EffEnvironment env m => m env Source

asks :: EffEnvironment a m => (a -> b) -> m b Source

mapEnvironment :: EffEnvironment env m => (env -> env') -> Eff (Reader env') m a -> m a Source

effToReaderT :: Monad m => Eff (Reader e) m a -> ReaderT e m a Source

readerTToEff :: (Monad m, EffEnvironment e m) => ReaderT e m a -> m a Source