Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class (Monad m, MonadIO m, MonadBase IO m, MonadBaseControl IO m) => MonadProcess m where
- class MonadProcess m => MonadProcessBase m where
- type RunInBaseP m = forall a. m a -> Process (StMP m a)
- type ComposeStP t m a = StMP m (StT t a)
- type RunInBaseDefaultP t m = forall a. t m a -> Process (ComposeStP t m a)
- defaultLiftBaseWithP :: (MonadTransControl t, MonadProcessBase m) => (RunInBaseDefaultP t m -> Process a) -> t m a
- defaultRestoreMP :: (MonadTransControl t, MonadProcessBase m) => ComposeStP t m a -> t m a
- controlP :: MonadProcessBase m => (RunInBaseP m -> Process (StMP m a)) -> m a
- liftBaseDiscardP :: MonadProcessBase m => (Process () -> Process a) -> m () -> m a
Documentation
class (Monad m, MonadIO m, MonadBase IO m, MonadBaseControl IO m) => MonadProcess m where Source #
A class into instances of which Process operations can be lifted; similar to MonadIO or MonadBase.
MonadProcess Process Source # | |
MonadProcess m => MonadProcess (ListT m) Source # | |
MonadProcess m => MonadProcess (MaybeT m) Source # | |
MonadProcess m => MonadProcess (ExceptT e m) Source # | |
(Monoid w, MonadProcess m) => MonadProcess (WriterT w m) Source # | |
MonadProcess m => MonadProcess (StateT s m) Source # | |
MonadProcess m => MonadProcess (IdentityT * m) Source # | |
MonadProcess m => MonadProcess (StateT s m) Source # | |
(Monoid w, MonadProcess m) => MonadProcess (WriterT w m) Source # | |
MonadProcess m => MonadProcess (ReaderT * r m) Source # | |
(Monoid w, MonadProcess m) => MonadProcess (RWST r w s m) Source # | |
(Monoid w, MonadProcess m) => MonadProcess (RWST r w s m) Source # | |
class MonadProcess m => MonadProcessBase m where Source #
A Clone of MonadBaseControl
specialized to the Process monad. This
uses the MonadTransControl
typeclass for transformer default instances, so the
core wrapping/unwrapping logic is not duplicated. This class
is needed because the MonadBaseControl instance for Process
has IO as the base.
liftBaseWithP :: (RunInBaseP m -> Process a) -> m a Source #
MonadProcessBase Process Source # | |
MonadProcessBase m => MonadProcessBase (ListT m) Source # | |
MonadProcessBase m => MonadProcessBase (MaybeT m) Source # | |
MonadProcessBase m => MonadProcessBase (ExceptT e m) Source # | |
(Monoid w, MonadProcessBase m) => MonadProcessBase (WriterT w m) Source # | |
MonadProcessBase m => MonadProcessBase (StateT s m) Source # | |
MonadProcessBase m => MonadProcessBase (IdentityT * m) Source # | |
MonadProcessBase m => MonadProcessBase (StateT s m) Source # | |
(Monoid w, MonadProcessBase m) => MonadProcessBase (WriterT w m) Source # | |
MonadProcessBase m => MonadProcessBase (ReaderT * r m) Source # | |
(Monoid w, MonadProcessBase m) => MonadProcessBase (RWST r w s m) Source # | |
(Monoid w, MonadProcessBase m) => MonadProcessBase (RWST r w s m) Source # | |
type RunInBaseP m = forall a. m a -> Process (StMP m a) Source #
A clone of RunInBase
for MonadProcessBase.
type RunInBaseDefaultP t m = forall a. t m a -> Process (ComposeStP t m a) Source #
A clone of RunInBaseDefault
for MonadProcessBase.
defaultLiftBaseWithP :: (MonadTransControl t, MonadProcessBase m) => (RunInBaseDefaultP t m -> Process a) -> t m a Source #
A clone of defaultLiftBaseWith
for MonadProcessBase.
This re-uses the MonadTransControl typeclass the same way as the
original; core wrapping/unwrapping logic for each transformer type is not duplicated.
defaultRestoreMP :: (MonadTransControl t, MonadProcessBase m) => ComposeStP t m a -> t m a Source #
A clone of defaultRestoreMP
for MonadProcessBase.
This re-uses the MonadTransControl typeclass the same way as the
original; core wrapping/unwrapping logic for each transformer type is not duplicated.
controlP :: MonadProcessBase m => (RunInBaseP m -> Process (StMP m a)) -> m a Source #
A clone of control
for MonadProcessBase.
liftBaseDiscardP :: MonadProcessBase m => (Process () -> Process a) -> m () -> m a Source #
A clone of liftBaseDiscard
for MonadProcessBase.