Safe Haskell | None |
---|---|
Language | GHC2021 |
Control.Monad.Trans.Compose.Transparent
Synopsis
- type TransparentT = Elevator (NoT :: (Type -> Type) -> Type -> Type)
- runTransparentT :: TransparentT m a -> m a
- newtype NoT (m :: k -> Type) (a :: k) = MkNoT {}
Documentation
type TransparentT = Elevator (NoT :: (Type -> Type) -> Type -> Type) Source #
A monad transformer, that passes through all instances via Elevator
.
This cannot be defined as a newtype, because we want all the instances, that are defined for
Elevator
to work for TransparentT
.
runTransparentT :: TransparentT m a -> m a Source #
newtype NoT (m :: k -> Type) (a :: k) Source #
Warning: This is an implementation detail of TransparentT
.
A newtype wrapper around IdentityT
.
This is used in TransparentT
to encourage the use of runTransparentT
.
Constructors
MkNoT | Warning: This is an implementation detail of |
Fields
|
Instances
MonadTransControl (NoT :: (Type -> Type) -> Type -> Type) Source # | |
MonadTransControlIdentity (NoT :: (Type -> Type) -> Type -> Type) Source # | |
Defined in Control.Monad.Trans.Compose.Transparent Methods liftWithIdentity :: Monad m => ((forall x. NoT m x -> m x) -> m a) -> NoT m a # | |
MonadTrans (NoT :: (Type -> Type) -> Type -> Type) Source # | |
Defined in Control.Monad.Trans.Compose.Transparent | |
Applicative m => Applicative (NoT m) Source # | |
Functor m => Functor (NoT m) Source # | |
Monad m => Monad (NoT m) Source # | |
type StT (NoT :: (Type -> Type) -> Type -> Type) a Source # | |