Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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
newtype HReaderT els m a Source #
HReaderT | |
|
runHReaderT :: HSet els -> HReaderT els m a -> m a Source #
subHSetHReaderT :: (Monad m, Applicative m, SubHSettable els subels) => HReaderT subels m a -> HReaderT els m a Source #
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 Source #
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