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
newtype HReaderT els m a Source
Constructors
HReaderT | |
Fields
|
Instances
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