mini-0.1.0.0: Minimal essentials
Safe HaskellSafe-Inferred
LanguageHaskell2010

Mini.Transformers.ReaderT

Description

Extension of a monad with a read-only environment

Synopsis

Type

data ReaderT r m a Source #

A monad with read-only type r, inner monad m, and return type a

Instances

Instances details
MonadTrans (ReaderT r) Source # 
Instance details

Defined in Mini.Transformers.ReaderT

Methods

lift :: Monad m => m a -> ReaderT r m a Source #

(Monad m, Alternative m) => Alternative (ReaderT r m) Source # 
Instance details

Defined in Mini.Transformers.ReaderT

Methods

empty :: ReaderT r m a #

(<|>) :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a #

some :: ReaderT r m a -> ReaderT r m [a] #

many :: ReaderT r m a -> ReaderT r m [a] #

Monad m => Applicative (ReaderT r m) Source # 
Instance details

Defined in Mini.Transformers.ReaderT

Methods

pure :: a -> ReaderT r m a #

(<*>) :: ReaderT r m (a -> b) -> ReaderT r m a -> ReaderT r m b #

liftA2 :: (a -> b -> c) -> ReaderT r m a -> ReaderT r m b -> ReaderT r m c #

(*>) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m b #

(<*) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m a #

Monad m => Functor (ReaderT r m) Source # 
Instance details

Defined in Mini.Transformers.ReaderT

Methods

fmap :: (a -> b) -> ReaderT r m a -> ReaderT r m b #

(<$) :: a -> ReaderT r m b -> ReaderT r m a #

Monad m => Monad (ReaderT r m) Source # 
Instance details

Defined in Mini.Transformers.ReaderT

Methods

(>>=) :: ReaderT r m a -> (a -> ReaderT r m b) -> ReaderT r m b #

(>>) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m b #

return :: a -> ReaderT r m a #

Reading

ask :: Monad m => ReaderT r m r Source #

Fetch the read-only value

foo = do
  r <- ask
  bar r

Runners

runReaderT :: ReaderT r m a -> r -> m a Source #

Unwrap a ReaderT given a read-only value