| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.HReader
- newtype HReaderT els m a = HReaderT {
- unHReaderT :: ReaderT (HSet els) m a
- runHReaderT :: HSet els -> HReaderT els m a -> m a
- subHSetHReaderT :: (Monad m, Applicative m, SubHSettable els subels) => HReaderT subels m a -> HReaderT els m a
- narrowHReaderT :: (Monad m, Applicative m, SubHSettable els subels) => proxy subels -> HReaderT subels m a -> HReaderT els m a
- module Control.Monad.HReader.Class
Documentation
Constructors
| HReaderT | |
Fields
| |
Instances
| MonadBase b m => MonadBase b (HReaderT els m) # | |
| MonadBaseControl b m => MonadBaseControl b (HReaderT els m) # | |
| MonadError e m => MonadError e (HReaderT els m) # | |
| MonadReader r m => MonadReader r (HReaderT els m) # | |
| MonadState s m => MonadState s (HReaderT els m) # | |
| MonadWriter w m => MonadWriter w (HReaderT els m) # | |
| MFunctor (HReaderT els) # | |
| MMonad (HReaderT els) # | |
| MonadTrans (HReaderT els) # | |
| MonadTransControl (HReaderT els) # | |
| Monad m => Monad (HReaderT els m) # | |
| Functor m => Functor (HReaderT els m) # | |
| Applicative m => Applicative (HReaderT els m) # | |
| MonadIO m => MonadIO (HReaderT els m) # | |
| MonadThrow m => MonadThrow (HReaderT els m) # | |
| MonadCatch m => MonadCatch (HReaderT els m) # | |
| MonadMask m => MonadMask (HReaderT els m) # | |
| MonadCont m => MonadCont (HReaderT els m) # | |
| (Monad m, Applicative m) => MonadHReader (HReaderT els m) # | |
| Generic (HReaderT els m a) # | |
| type StT (HReaderT els) a # | |
| type MHRElements (HReaderT els m) # | |
| type StM (HReaderT els m) a # | |
| type Rep (HReaderT els m a) # | |
runHReaderT :: HSet els -> HReaderT els m a -> m a #
subHSetHReaderT :: (Monad m, Applicative m, SubHSettable els subels) => HReaderT subels m a -> HReaderT els m a #
Run a local reader with a subset of HSet elements.
narrowHReaderT :: (Monad m, Applicative m, SubHSettable els subels) => proxy subels -> HReaderT subels m a -> HReaderT els m a #
Convenient variant of subHSetHReaderT with proxy type to make it
posible to run nested HReaderT in place without complex type
declarations, e.g.
narrowHReaderT (Proxy :: Proxy '[String, Int]) $ do doThingsWithString doThingsWithInt doThingsWithOtherStuff -- < this will not compile
module Control.Monad.HReader.Class