Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class (Monad m, Applicative m) => MonadHReader m where
- type MHRElements m :: [*]
- type family MHRElemsConstraint (m :: * -> *) (els :: [*]) :: Constraint where ...
- hask :: (MonadHReader m, HGettable (MHRElements m) e) => m e
- haskTagged :: (MonadHReader m, HGettable (MHRElements m) (Tagged tag e)) => proxy tag -> m e
Documentation
class (Monad m, Applicative m) => MonadHReader m where Source #
Monad which is a reader of HSet (or just can construct it).
type MHRElements m :: [*] Source #
askHSet :: m (HSet (MHRElements m)) Source #
hlocal :: (HSet (MHRElements m) -> HSet (MHRElements m)) -> m a -> m a Source #
MonadHReader m => MonadHReader (ListT m) Source # | |
MonadHReader m => MonadHReader (MaybeT m) Source # | |
MonadHReader m => MonadHReader (ExceptT e m) Source # | |
MonadHReader m => MonadHReader (StateT s m) Source # | |
MonadHReader m => MonadHReader (StateT s m) Source # | |
(MonadHReader m, Monoid w) => MonadHReader (WriterT w m) Source # | |
(MonadHReader m, Monoid w) => MonadHReader (WriterT w m) Source # | |
MonadHReader m => MonadHReader (IdentityT * m) Source # | |
(Monad m, Applicative m) => MonadHReader (HReaderT els m) Source # | |
MonadHReader m => MonadHReader (ContT * r m) Source # | |
MonadHReader m => MonadHReader (ReaderT * r m) Source # | |
(MonadHReader m, Monoid w) => MonadHReader (RWST r w s m) Source # | |
(MonadHReader m, Monoid w) => MonadHReader (RWST r w s m) Source # | |
type family MHRElemsConstraint (m :: * -> *) (els :: [*]) :: Constraint where ... Source #
Easy generate constraint like (HGettable (MHRElements m) Int, HGettable (MHRElements m) Bool) from type list [Int, Bool]. Usable to reuse type lists for constraints and concrete HSet.
MHRElemsConstraint m '[] = MonadHReader m | |
MHRElemsConstraint m (e ': els) = (HGettable (MHRElements m) e, MHRElemsConstraint m els) |
hask :: (MonadHReader m, HGettable (MHRElements m) e) => m e Source #
Ask arbitrary element of hset inside HReader
haskTagged :: (MonadHReader m, HGettable (MHRElements m) (Tagged tag e)) => proxy tag -> m e Source #
Ask arbitrary labeled element of hset in HReader