Module
Control.Monad.Trans.Control
- Package
- purescript-monad-control
- Repository
- athanclark/purescript-monad-control
#MonadTransControl Source
class (MonadTrans t, Monad m) <= MonadTransControl m t stT | t -> stT where
Members
liftWith :: forall b. ((forall a. t m a -> m (stT a)) -> m b) -> t m b
restoreT :: forall a. m (stT a) -> t m a
Instances
(Monad m) => MonadTransControl m (ReaderT r) Identity
(Functor f, MonadRec m) => MonadTransControl m (FreeT f) (FreeTStT f m)
(Monoid r, Monad m) => MonadTransControl m (WriterT r) (WriterTStT r)
(Monad m) => MonadTransControl m (StateT r) (WriterTStT r)
(Monad m) => MonadTransControl m (ExceptT r) (Either r)
(Monad m) => MonadTransControl m MaybeT Maybe
(Monoid w, Monad m) => MonadTransControl m (RWST r w s) (Compose (Tuple w) (Tuple s))
#integrateT Source
integrateT :: forall a stT t m. Bind (t m) => MonadTransControl m t stT => t m (stT a) -> t m a
Pack a state belonging to t
back into it, instead of throwing it away
#MonadBaseControl Source
class (MonadBase base m) <= MonadBaseControl base m stM | m -> stM base where
Members
liftBaseWith :: forall b. ((forall a. m a -> base (stM a)) -> base b) -> m b
restoreM :: forall a. base (stM a) -> m a
Instances
MonadBaseControl Aff Aff Identity
MonadBaseControl Effect Effect Identity
MonadBaseControl (Either e) (Either e) Identity
(Monoid e) => MonadBaseControl (Tuple e) (Tuple e) Identity
MonadBaseControl Maybe Maybe Identity
MonadBaseControl Identity Identity Identity
MonadBaseControl List List Identity
MonadBaseControl Array Array Identity
MonadBaseControl (Function r) (Function r) Identity
(MonadBaseControl base m stM, Monad m, Monad base) => MonadBaseControl base (ReaderT r m) (Compose stM Identity)
(MonadBaseControl base m stM, Monad m, Monad base, Monoid r) => MonadBaseControl base (WriterT r m) (Compose stM (WriterTStT r))
(MonadBaseControl base m stM, Monad m, Monad base) => MonadBaseControl base (StateT r m) (Compose stM (WriterTStT r))
(MonadBaseControl base m stM, Monad m, Monad base) => MonadBaseControl base (ExceptT r m) (Compose stM (Either r))
(MonadBaseControl base m stM, Monad m, Monad base) => MonadBaseControl base (MaybeT m) (Compose stM Maybe)
(MonadBaseControl base m stM, Monad m, Monad base, Monoid w) => MonadBaseControl base (RWST r w s m) (Compose stM (Compose (Tuple w) (Tuple s)))
(MonadBaseControl base m stM, Monad base, Functor f, MonadRec m) => MonadBaseControl base (FreeT f m) (Compose stM (FreeTStT f m))
#integrateM Source
integrateM :: forall a stM m base. Applicative base => MonadBaseControl base m stM => m (stM a) -> m a
Pack a state belonging to m
back into it, instead of throwing it away
#defaultLiftBaseWith Source
defaultLiftBaseWith :: forall b stT stM t m base. MonadBaseControl base m stM => Monad m => Monad base => MonadTrans t => MonadTransControl m t stT => ((forall a. t m a -> base (Compose stM stT a)) -> base b) -> t m b
#defaultRestoreM Source
defaultRestoreM :: forall a stT stM t m base. MonadBaseControl base m stM => Monad m => Monad base => MonadTrans t => MonadTransControl m t stT => base (Compose stM stT a) -> t m a
#WriterTStT Source
data WriterTStT w a
Constructors
WriterTStT w a
Instances
Functor (WriterTStT w)
(Monoid r, Monad m) => MonadTransControl m (WriterT r) (WriterTStT r)
(Monad m) => MonadTransControl m (StateT r) (WriterTStT r)
(MonadBaseControl base m stM, Monad m, Monad base, Monoid r) => MonadBaseControl base (WriterT r m) (Compose stM (WriterTStT r))
(MonadBaseControl base m stM, Monad m, Monad base) => MonadBaseControl base (StateT r m) (Compose stM (WriterTStT r))
#writerTStTToTuple Source
writerTStTToTuple :: forall a w. WriterTStT w a -> Tuple a w
#tupleToWriterTStT Source
tupleToWriterTStT :: forall a w. Tuple a w -> WriterTStT w a