Module
Control.Monad.Trans.Control
- Package
- purescript-monad-control
- Repository
- athanclark/purescript-monad-control
#MonadTransControl Source
class (MonadTrans t) <= MonadTransControl t stT | t -> stT where
Members
liftWith :: forall b m. Monad m => ((forall a. t m a -> m (stT a)) -> m b) -> t m b
restoreT :: forall a m. Monad m => m (stT a) -> t m a
Instances
MonadTransControl (ReaderT r) Identity
(Monoid r) => MonadTransControl (WriterT r) (WriterTStT r)
MonadTransControl (StateT r) (WriterTStT r)
MonadTransControl (ExceptT r) (Either r)
MonadTransControl MaybeT Maybe
(Monoid w) => MonadTransControl (RWST r w s) (Compose (Tuple w) (Tuple s))
#WriterTStT Source
data WriterTStT w a
Constructors
WriterTStT w a
Instances
Functor (WriterTStT w)
(Monoid r) => MonadTransControl (WriterT r) (WriterTStT r)
MonadTransControl (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
#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 (Eff e) (Eff e) 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)))
#defaultLiftBaseWith Source
defaultLiftBaseWith :: forall b stT stM t m base. MonadBaseControl base m stM => Monad m => Monad base => MonadTrans t => MonadTransControl 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 t stT => base (Compose stM stT a) -> t m a