Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Monad m => MonadReader tag r m | m tag -> r where
- ask :: MonadReader tag r m => m r
- local :: MonadReader tag r m => (r -> r) -> m a -> m a
- reader :: MonadReader tag r m => (r -> a) -> m a
- asks :: forall tag r m a. MonadReader tag r m => (r -> a) -> m a
- type Reader tag r = ReaderT tag r Identity
- runReader :: forall tag r a. Reader tag r a -> r -> a
- type ReaderT tag r = TaggedTrans (TAGGED READER tag) (ReaderT r)
- readerT :: forall tag r m a. (r -> m a) -> ReaderT tag r m a
- runReaderT :: forall tag r m a. ReaderT tag r m a -> r -> m a
- type Readers r = ReadersT r Identity
- runReaders :: forall p a. Readers p a -> p -> a
- type ReadersT r = TaggedTrans (READERS (Tags r)) (ReaderT r)
- runReadersT :: forall p m a. ReadersT p m a -> p -> m a
- type MonadReader' r = MonadReader r r
- local' :: forall r m a. MonadReader' r m => (r -> r) -> m a -> m a
- ask' :: forall r m. MonadReader' r m => m r
- reader' :: forall r m a. MonadReader' r m => (r -> a) -> m a
- asks' :: forall r m a. MonadReader' r m => (r -> a) -> m a
- type Reader' r = Reader r r
- runReader' :: Reader' r a -> r -> a
- type ReaderT' r = ReaderT r r
- readerT' :: (r -> m a) -> ReaderT' r m a
- runReaderT' :: ReaderT' r m a -> r -> m a
- data TAGGED e t
- data READER
- type family READERS (ts :: HList xs) :: [Type] where ...
MonadReader class
class Monad m => MonadReader tag r m | m tag -> r where Source #
Retrieves the monad environment.
local :: (r -> r) -> m a -> m a Source #
Executes a computation in a modified environment.
reader :: (r -> a) -> m a Source #
Retrieves a function of the current environment.
(LiftLocal t, Monad (t m), MonadReader k tag r m) => MonadReader k tag r (t m) Source # | |
(Monad (trans m), MonadReader k tag r (TaggedTrans * (Type -> Type) [a] effs trans m)) => MonadReader k tag r (TaggedTrans * (Type -> Type) [a] ((:) a eff effs) trans m) Source # | |
(MonadReader k1 tNew r m, (~) ((* -> *) -> * -> *) trans (IdentityT *)) => MonadReader k tOld r (TaggedTrans * (* -> *) * (TAG_REPLACE k1 k tOld tNew) trans m) Source # | |
ask :: MonadReader tag r m => m r Source #
Retrieves the monad environment.
local :: MonadReader tag r m => (r -> r) -> m a -> m a Source #
Executes a computation in a modified environment.
reader :: MonadReader tag r m => (r -> a) -> m a Source #
Retrieves a function of the current environment.
:: MonadReader tag r m | |
=> (r -> a) | The selector function to apply to the environment. |
-> m a |
Retrieves a function of the current environment.
The Reader monad
runReader :: forall tag r a. Reader tag r a -> r -> a Source #
Runs a ReaderT
with the given environment
and returns the final value.
The ReaderT monad transformer
readerT :: forall tag r m a. (r -> m a) -> ReaderT tag r m a Source #
Constructor for computations in the reader monad transformer.
runReaderT :: forall tag r m a. ReaderT tag r m a -> r -> m a Source #
Runs a ReaderT
with the given environment
and returns the final value.
The Reader monad (flattened)
runReaders :: forall p a. Readers p a -> p -> a Source #
The ReaderT monad transformer (flattened)
runReadersT :: forall p m a. ReadersT p m a -> p -> m a Source #
MonadReader class (implicit)
type MonadReader' r = MonadReader r r Source #
local' :: forall r m a. MonadReader' r m => (r -> r) -> m a -> m a Source #
ask' :: forall r m. MonadReader' r m => m r Source #
reader' :: forall r m a. MonadReader' r m => (r -> a) -> m a Source #
asks' :: forall r m a. MonadReader' r m => (r -> a) -> m a Source #
The Reader monad (implicit)
runReader' :: Reader' r a -> r -> a Source #
The ReaderT monad transformer (implicit)
runReaderT' :: ReaderT' r m a -> r -> m a Source #
Internal labels
Encode type-level information for ReaderT
.