Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Monad.Stack.Reader
Documentation
class Monad m => ReaderStack (m :: Type -> Type) where Source #
Methods
liftReader :: PopReader m a -> m a Source #
Instances
type ReaderDepth (n :: Nat) (m :: Type -> Type) = IteratePop n ReaderT m Source #
type ReaderConstraints (n :: Nat) (m :: Type -> Type) = (KnownNat n, StackConstraints n ReaderT ReaderStack m) Source #
type MonadReaderDepth (n :: Nat) (m :: Type -> Type) r = (ReaderConstraints n m, MonadReader r (ReaderDepth n m)) Source #
depthReader :: forall (n :: Nat) m a. ReaderConstraints n m => ReaderDepth n m a -> m a Source #