Module
Control.Monad.Writer.Class
- Package
- purescript-transformers
- Repository
- purescript/purescript-transformers
This module defines the MonadWriter type class and its instances.
#MonadTell Source
class (Semigroup w, Monad m) <= MonadTell w m | m -> w whereThe MonadTell w type class represents those monads which support a
monoidal accumulator of type w, where tell appends a value to the
accumulator.
An implementation is provided for WriterT, and for other monad
transformers defined in this library.
Law:
do { tell x ; tell y } = tell (x <> y)
Members
#MonadWriter Source
class (Monoid w, MonadTell w m) <= MonadWriter w m | m -> w whereAn extension of the MonadTell class that introduces some operations on
the accumulator:
listenmodifies the result to include the changes to the accumulator.passapplies the returned function to the accumulator.
An implementation is provided for WriterT, and for other monad
transformers defined in this library.
Laws in addition to the MonadTell law:
do { tell x ; tell y } = tell (x <> y)listen (pure a) = pure (Tuple a mempty)listen (writer a x) = tell x $> Tuple a x
Members
#listens Source
listens :: forall w m a b. MonadWriter w m => (w -> b) -> m a -> m (Tuple a b)Projects a value from modifications made to the accumulator during an action.
#censor Source
censor :: forall w m a. MonadWriter w m => (w -> w) -> m a -> m aModify the final accumulator value by applying a function.
- Modules
- Control.
Comonad. Env - Control.
Comonad. Env. Class - Control.
Comonad. Env. Trans - Control.
Comonad. Store - Control.
Comonad. Store. Class - Control.
Comonad. Store. Trans - Control.
Comonad. Traced - Control.
Comonad. Traced. Class - Control.
Comonad. Traced. Trans - Control.
Comonad. Trans. Class - Control.
Monad. Cont - Control.
Monad. Cont. Class - Control.
Monad. Cont. Trans - Control.
Monad. Error. Class - Control.
Monad. Except - Control.
Monad. Except. Trans - Control.
Monad. Identity. Trans - Control.
Monad. List. Trans - Control.
Monad. Maybe. Trans - Control.
Monad. RWS - Control.
Monad. RWS. Trans - Control.
Monad. Reader - Control.
Monad. Reader. Class - Control.
Monad. Reader. Trans - Control.
Monad. State - Control.
Monad. State. Class - Control.
Monad. State. Trans - Control.
Monad. Trans. Class - Control.
Monad. Writer - Control.
Monad. Writer. Class - Control.
Monad. Writer. Trans