| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Control.Monad.Ology.General.Trans.Unlift
Documentation
class (MonadTransTunnel t, TransConstraint MonadFail t, TransConstraint MonadIO t, TransConstraint MonadFix t, TransConstraint Monad t, MonadExtract (Tunnel t)) => MonadTransUnlift (t :: TransKind) where Source #
Minimal complete definition
Methods
liftWithUnlift :: MonadIO m => (Unlift MonadTunnelIO t -> m r) -> t m r Source #
Lift with an unlifting function that accounts for the transformer's effects (using MVars where necessary).
getDiscardingUnlift :: forall (m :: Type -> Type). Monad m => t m (WUnlift MonadTunnelIO t) Source #
Return an unlifting function that discards the transformer's effects (such as state change or output).
Instances
toDiscardingUnlift :: forall (t :: TransKind). MonadTransUnlift t => Unlift MonadUnliftIO t -> Unlift MonadUnliftIO t Source #
wLiftWithUnlift :: forall (t :: TransKind) (m :: Type -> Type). (MonadTransUnlift t, MonadTunnelIO m) => WBackraised m (t m) Source #
composeUnliftRaised :: forall (m :: Type -> Type) (t :: TransKind) (n :: Type -> Type). MonadUnliftIO m => Unlift Functor t -> (m --> n) -> t m --> n Source #
composeUnliftRaisedCommute :: forall (t :: TransKind) (m :: Type -> Type) (n :: Type -> Type). (MonadTransUnlift t, MonadUnliftIO m, MonadUnliftIO n) => Unlift Functor t -> (m --> n) -> t m --> n Source #
class (MonadFail m, MonadIO m, MonadFix m, MonadTunnelIO m, MonadExtract (TunnelIO m)) => MonadUnliftIO (m :: Type -> Type) where Source #
Minimal complete definition
Methods
liftIOWithUnlift :: IO -/-> m Source #
Lift with an unlifting function that accounts for the effects over IO.
getDiscardingIOUnlift :: m (WRaised m IO) Source #
Return an unlifting function that discards the effects over IO.
Instances
| MonadUnliftIO IO Source # | |
Defined in Control.Monad.Ology.General.Trans.Unlift | |
| (MonadTransUnlift t, MonadUnliftIO m, MonadFail (t m), MonadIO (t m), MonadFix (t m)) => MonadUnliftIO (t m) Source # | |
Defined in Control.Monad.Ology.General.Trans.Unlift Methods liftIOWithUnlift :: IO -/-> t m Source # getDiscardingIOUnlift :: t m (WRaised (t m) IO) Source # | |
wLiftIOWithUnlift :: forall (m :: Type -> Type). MonadUnliftIO m => WBackraised IO m Source #
monoHoist :: (MonadTransUnlift t, MonadTunnelIO ma, MonadIO mb) => (ma a -> mb b) -> t ma a -> t mb b Source #