| Copyright | (c) Edward Kmett 2011 (c) Conal Elliott 2008 |
|---|---|
| License | BSD3 |
| Maintainer | ekmett@gmail.com |
| Stability | experimental |
| Safe Haskell | Safe |
| Language | Haskell98 |
Control.Monad.Representable.Reader
Description
Representable functors on Hask are all monads, because they are isomorphic to
a Reader monad.
Synopsis
- type Reader f = ReaderT f Identity
- runReader :: Representable f => Reader f b -> Rep f -> b
- newtype ReaderT f m b = ReaderT {
- getReaderT :: f (m b)
- readerT :: Representable f => (Rep f -> m b) -> ReaderT f m b
- runReaderT :: Representable f => ReaderT f m b -> Rep f -> m b
- class Monad m => MonadReader r (m :: * -> *) | m -> r where
- module Data.Functor.Rep
Representable functor monad
Monad Transformer
newtype ReaderT f m b Source #
Instances
Methods
fold :: Monoid m => ReaderT f m m -> m #
foldMap :: Monoid m => (a -> m) -> ReaderT f m a -> m #
foldr :: (a -> b -> b) -> b -> ReaderT f m a -> b #
foldr' :: (a -> b -> b) -> b -> ReaderT f m a -> b #
foldl :: (b -> a -> b) -> b -> ReaderT f m a -> b #
foldl' :: (b -> a -> b) -> b -> ReaderT f m a -> b #
foldr1 :: (a -> a -> a) -> ReaderT f m a -> a #
foldl1 :: (a -> a -> a) -> ReaderT f m a -> a #
toList :: ReaderT f m a -> [a] #
null :: ReaderT f m a -> Bool #
length :: ReaderT f m a -> Int #
elem :: Eq a => a -> ReaderT f m a -> Bool #
maximum :: Ord a => ReaderT f m a -> a #
minimum :: Ord a => ReaderT f m a -> a #
runReaderT :: Representable f => ReaderT f m b -> Rep f -> m b Source #
class Monad m => MonadReader r (m :: * -> *) | m -> r where #
See examples in Control.Monad.Reader.
Note, the partially applied function type (->) r is a simple reader monad.
See the instance declaration below.
Methods
Retrieves the monad environment.
Arguments
The function to modify the environment.
Reader to run in the modified environment.
Executes a computation in a modified environment.
Arguments
The selector function to apply to the environment.
Retrieves a function of the current environment.
Instances
module Data.Functor.Rep