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 whereMembers
liftWith :: forall b. ((forall a. t m a -> m (stT a)) -> m b) -> t m brestoreT :: 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 aPack 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 whereMembers
liftBaseWith :: forall b. ((forall a. m a -> base (stM a)) -> base b) -> m brestoreM :: forall a. base (stM a) -> m a
Instances
MonadBaseControl Aff Aff IdentityMonadBaseControl Effect Effect IdentityMonadBaseControl (Either e) (Either e) Identity(Monoid e) => MonadBaseControl (Tuple e) (Tuple e) IdentityMonadBaseControl Maybe Maybe IdentityMonadBaseControl Identity Identity IdentityMonadBaseControl List List IdentityMonadBaseControl Array Array IdentityMonadBaseControl (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 aPack 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 aConstructors
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