mtl-unleashed-0.6.1: MTL classes without the functional dependency

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Readers

Description

MonadState without the function dependency m -> s.

Synopsis

Documentation

class Monad m => MonadReaders r m where Source #

Minimal complete definition

askPoly, localPoly

Methods

askPoly :: m r Source #

localPoly :: (r -> r) -> m a -> m a Source #

readerPoly :: (r -> a) -> m a Source #

Retrieves a function of the current environment.

Instances

MonadReaders r m => MonadReaders r (MaybeT m) Source # 

Methods

askPoly :: MaybeT m r Source #

localPoly :: (r -> r) -> MaybeT m a -> MaybeT m a Source #

readerPoly :: (r -> a) -> MaybeT m a Source #

MonadReaders r m => MonadReaders r (ListT m) Source # 

Methods

askPoly :: ListT m r Source #

localPoly :: (r -> r) -> ListT m a -> ListT m a Source #

readerPoly :: (r -> a) -> ListT m a Source #

MonadReaders r ((->) r) Source # 

Methods

askPoly :: r -> r Source #

localPoly :: (r -> r) -> (r -> a) -> r -> a Source #

readerPoly :: (r -> a) -> r -> a Source #

(Monoid w, MonadReaders r m) => MonadReaders r (WriterT w m) Source # 

Methods

askPoly :: WriterT w m r Source #

localPoly :: (r -> r) -> WriterT w m a -> WriterT w m a Source #

readerPoly :: (r -> a) -> WriterT w m a Source #

(Monoid w, MonadReaders r m) => MonadReaders r (WriterT w m) Source # 

Methods

askPoly :: WriterT w m r Source #

localPoly :: (r -> r) -> WriterT w m a -> WriterT w m a Source #

readerPoly :: (r -> a) -> WriterT w m a Source #

MonadReaders r m => MonadReaders r (StateT s m) Source # 

Methods

askPoly :: StateT s m r Source #

localPoly :: (r -> r) -> StateT s m a -> StateT s m a Source #

readerPoly :: (r -> a) -> StateT s m a Source #

MonadReaders r m => MonadReaders r (StateT s m) Source # 

Methods

askPoly :: StateT s m r Source #

localPoly :: (r -> r) -> StateT s m a -> StateT s m a Source #

readerPoly :: (r -> a) -> StateT s m a Source #

MonadReaders r m => MonadReaders r (IdentityT * m) Source # 

Methods

askPoly :: IdentityT * m r Source #

localPoly :: (r -> r) -> IdentityT * m a -> IdentityT * m a Source #

readerPoly :: (r -> a) -> IdentityT * m a Source #

MonadReaders r m => MonadReaders r (ExceptT e m) Source # 

Methods

askPoly :: ExceptT e m r Source #

localPoly :: (r -> r) -> ExceptT e m a -> ExceptT e m a Source #

readerPoly :: (r -> a) -> ExceptT e m a Source #

(Error e, MonadReaders r m) => MonadReaders r (ErrorT e m) Source # 

Methods

askPoly :: ErrorT e m r Source #

localPoly :: (r -> r) -> ErrorT e m a -> ErrorT e m a Source #

readerPoly :: (r -> a) -> ErrorT e m a Source #

MonadReaders r' m => MonadReaders r' (ContT * r m) Source #

Modiifed copies of instances from mtl.

Methods

askPoly :: ContT * r m r' Source #

localPoly :: (r' -> r') -> ContT * r m a -> ContT * r m a Source #

readerPoly :: (r' -> a) -> ContT * r m a Source #

Monad m => MonadReaders r (ReaderT * r m) Source # 

Methods

askPoly :: ReaderT * r m r Source #

localPoly :: (r -> r) -> ReaderT * r m a -> ReaderT * r m a Source #

readerPoly :: (r -> a) -> ReaderT * r m a Source #

(Monad m, Monoid w) => MonadReaders r (RWST r w s m) Source # 

Methods

askPoly :: RWST r w s m r Source #

localPoly :: (r -> r) -> RWST r w s m a -> RWST r w s m a Source #

readerPoly :: (r -> a) -> RWST r w s m a Source #

(Monad m, Monoid w) => MonadReaders r (RWST r w s m) Source # 

Methods

askPoly :: RWST r w s m r Source #

localPoly :: (r -> r) -> RWST r w s m a -> RWST r w s m a Source #

readerPoly :: (r -> a) -> RWST r w s m a Source #

viewPoly :: forall r m a. MonadReaders r m => Getting a r a -> m a Source #

Modified view function that works if there is a MonadReaders r instance