Copyright | (c) Samuel Schlesinger 2020 |
---|---|
Maintainer | sgschlesinger@gmail.com |
Stability | experimental |
Portability | POSIX, Windows |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Control.Monad.Trans.Uplift
Description
Documentation
uplift :: forall t f a. Uplift (IndexOf t f) f => Substack (IndexOf t f) f a -> f a Source #
Uplift the substack starting with the given transformer into the full stack. This function is expected to be used with type applications when working with polymorphic code.
type family Substack n f where ... Source #
A type family for computing the substack of a monad transformer stack, dropping the top n transformers.
A class for lifting arbitrary substacks of our transformer stack.
Minimal complete definition
liftSubstack
Instances
Uplift 'Z (f :: k -> Type) Source # | |
Defined in Control.Monad.Trans.Uplift Methods liftSubstack :: forall (a :: k0). Substack 'Z f a -> f a | |
(Monad f, MonadTrans t, Uplift n f) => Uplift ('S n) (t f :: Type -> Type) Source # | |
Defined in Control.Monad.Trans.Uplift Methods liftSubstack :: forall (a :: k). Substack ('S n) (t f) a -> t f a |