| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Control.Monad.Ology.Specific.ComposeT
Synopsis
- newtype ComposeT (outerT :: TransKind) (innerT :: TransKind) (m :: Type -> Type) a = MkComposeT {
- unComposeT :: outerT (innerT m) a
- composeTUnlift :: forall (c :: (Type -> Type) -> Constraint) (outerT :: TransKind) (innerT :: TransKind). TransConstraint c innerT => Unlift c outerT -> Unlift c innerT -> Unlift c (ComposeT outerT innerT)
- composeTWUnlift :: forall (c :: (Type -> Type) -> Constraint) (outerT :: TransKind) (innerT :: TransKind). TransConstraint c innerT => WUnlift c outerT -> WUnlift c innerT -> WUnlift c (ComposeT outerT innerT)
- liftOuterComposeT :: forall outerT (innerT :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a. (MonadTransTunnel outerT, MonadTrans innerT, TransConstraint Monad innerT, Monad m) => outerT m a -> ComposeT outerT innerT m a
- liftInnerComposeT :: forall (outerT :: (Type -> Type) -> Type -> Type) innerT (m :: Type -> Type) a. (MonadTrans outerT, TransConstraint Monad innerT, Monad m) => innerT m a -> ComposeT outerT innerT m a
- liftOuterComposeTWithUnlift :: forall outerT (innerT :: TransKind) (m :: Type -> Type) r. (MonadTransTunnel outerT, MonadTransUnlift innerT, MonadTunnelIO m) => ((forall a. ComposeT outerT innerT m a -> outerT m a) -> outerT m r) -> ComposeT outerT innerT m r
- liftInnerComposeTWithUnlift :: forall (outerT :: TransKind) innerT (m :: Type -> Type) r. (MonadTransUnlift outerT, MonadTransUnlift innerT, MonadTunnelIO m) => ((forall a. ComposeT outerT innerT m a -> innerT m a) -> innerT m r) -> ComposeT outerT innerT m r
Documentation
newtype ComposeT (outerT :: TransKind) (innerT :: TransKind) (m :: Type -> Type) a Source #
Compose two monad transformers.
Constructors
| MkComposeT | |
Fields
| |
Instances
composeTUnlift :: forall (c :: (Type -> Type) -> Constraint) (outerT :: TransKind) (innerT :: TransKind). TransConstraint c innerT => Unlift c outerT -> Unlift c innerT -> Unlift c (ComposeT outerT innerT) Source #
composeTWUnlift :: forall (c :: (Type -> Type) -> Constraint) (outerT :: TransKind) (innerT :: TransKind). TransConstraint c innerT => WUnlift c outerT -> WUnlift c innerT -> WUnlift c (ComposeT outerT innerT) Source #
liftOuterComposeT :: forall outerT (innerT :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a. (MonadTransTunnel outerT, MonadTrans innerT, TransConstraint Monad innerT, Monad m) => outerT m a -> ComposeT outerT innerT m a Source #
liftInnerComposeT :: forall (outerT :: (Type -> Type) -> Type -> Type) innerT (m :: Type -> Type) a. (MonadTrans outerT, TransConstraint Monad innerT, Monad m) => innerT m a -> ComposeT outerT innerT m a Source #
liftOuterComposeTWithUnlift :: forall outerT (innerT :: TransKind) (m :: Type -> Type) r. (MonadTransTunnel outerT, MonadTransUnlift innerT, MonadTunnelIO m) => ((forall a. ComposeT outerT innerT m a -> outerT m a) -> outerT m r) -> ComposeT outerT innerT m r Source #
liftInnerComposeTWithUnlift :: forall (outerT :: TransKind) innerT (m :: Type -> Type) r. (MonadTransUnlift outerT, MonadTransUnlift innerT, MonadTunnelIO m) => ((forall a. ComposeT outerT innerT m a -> innerT m a) -> innerT m r) -> ComposeT outerT innerT m r Source #