-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generalization of MonadReader and ReaderT -- -- Generalization of MonadReader and ReaderT @package hreader @version 0.0.1 module Control.Monad.HReader.Class class (Monad m) => MonadHReader m where type family HSetElements m :: [*] askHSet :: MonadHReader m => m (HSet (HSetElements m)) -- | Ask arbitrary element of hset inside HReader haskM :: (MonadHReader m, Contains (HSetElements m) e) => m e -- | Ask arbitrary labeled element of hset in HReader haskLabeledM :: (MonadHReader m, Contains (HSetElements m) (Labeled label e)) => proxy label -> m e instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Reader.ReaderT r m) instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Cont.ContT r m) instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.List.ListT m) instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Except.ExceptT e m) instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.State.Lazy.StateT s m) instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.State.Strict.StateT s m) instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Writer.Lazy.WriterT w m) instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Writer.Strict.WriterT w m) instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.RWS.Lazy.RWST r w s m) instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.RWS.Strict.RWST r w s m) module Control.Monad.HReader newtype HReaderT els m a HReaderT :: ReaderT (HSet els) m a -> HReaderT els m a [unHReaderT] :: HReaderT els m a -> ReaderT (HSet els) m a runUnversalT :: HSet els -> HReaderT els m a -> m a instance GHC.Generics.Selector Control.Monad.HReader.S1_0_0HReaderT instance GHC.Generics.Constructor Control.Monad.HReader.C1_0HReaderT instance GHC.Generics.Datatype Control.Monad.HReader.D1HReaderT instance GHC.Generics.Generic (Control.Monad.HReader.HReaderT els m a) instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.HReader.HReaderT els m) instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.HReader.HReaderT els m) instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.HReader.HReaderT els m) instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.HReader.HReaderT els m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.HReader.HReaderT els m) instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Morph.MFunctor (Control.Monad.HReader.HReaderT els) instance Control.Monad.Morph.MMonad (Control.Monad.HReader.HReaderT els) instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.HReader.HReaderT els) instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.HReader.HReaderT els m) instance GHC.Base.Monad m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.HReader.HReaderT els m) instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.HReader.HReaderT els) instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.HReader.HReaderT els m)