Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype ComposeT (outerT :: TransKind) (innerT :: TransKind) (m :: Type -> Type) (a :: Type) = MkComposeT {
- unComposeT :: outerT (innerT m) a
- composeTUnlift :: forall c outerT innerT. (MonadTransUnlift innerT, TransConstraint c innerT) => Unlift c outerT -> Unlift c innerT -> Unlift c (ComposeT outerT innerT)
- composeTWUnlift :: forall c outerT innerT. (MonadTransUnlift innerT, TransConstraint c innerT) => WUnlift c outerT -> WUnlift c innerT -> WUnlift c (ComposeT outerT innerT)
- liftOuterComposeT :: forall outerT innerT m a. (MonadTransTunnel outerT, MonadTrans innerT, TransConstraint Monad innerT, Monad m) => outerT m a -> ComposeT outerT innerT m a
- liftInnerComposeT :: forall outerT innerT m a. (MonadTrans outerT, TransConstraint Monad innerT, Monad m) => innerT m a -> ComposeT outerT innerT m a
- liftOuterComposeTWithUnlift :: forall outerT innerT m 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 innerT m 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 :: Type) Source #
Compose two monad transformers.
MkComposeT | |
|
Instances
composeTUnlift :: forall c outerT innerT. (MonadTransUnlift innerT, TransConstraint c innerT) => Unlift c outerT -> Unlift c innerT -> Unlift c (ComposeT outerT innerT) Source #
composeTWUnlift :: forall c outerT innerT. (MonadTransUnlift innerT, TransConstraint c innerT) => WUnlift c outerT -> WUnlift c innerT -> WUnlift c (ComposeT outerT innerT) Source #
liftOuterComposeT :: forall outerT innerT m a. (MonadTransTunnel outerT, MonadTrans innerT, TransConstraint Monad innerT, Monad m) => outerT m a -> ComposeT outerT innerT m a Source #
liftInnerComposeT :: forall outerT innerT m a. (MonadTrans outerT, TransConstraint Monad innerT, Monad m) => innerT m a -> ComposeT outerT innerT m a Source #
liftOuterComposeTWithUnlift :: forall outerT innerT m 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 innerT m 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 #