writer package:writer-cps-transformers
Construct a writer computation from a (result, output) pair.
Construct a writer computation from a (result, output) pair. (The
inverse of
runWriter.)
A writer monad parameterized by the type
w of output to
accumulate.
The
return function produces the output
mempty, while
>>= combines the outputs of the subcomputations using
mappend.
WriteT and RWST monad transformers
The WriterT and RWST monad transformers provided by
writer-cps-transformers are written in continuation passing style and
avoid the space-leak problem of the traditional
Control.Monad.Trans.Writer.Strict and Control.Monad.Trans.Writer.Lazy.
The corresponding MTL class instances are in the package
writer-cps-mtl
(
http://hackage.haskell.org/package/writer-cps-mtl).
The WriterT constructor is deliberately not exported in the CPS module
to avoid exposing the hidden state w. writerT provides a safe way to
construct a WriterT with the same api as the original WriterT.
A writer monad parameterized by:
- w - the output to accumulate.
- m - The inner monad.
The
return function produces the output
mempty, while
>>= combines the outputs of the subcomputations using
mappend.
A writer monad parameterized by:
- w - the output to accumulate.
- m - The inner monad.
The
return function produces the output
mempty, while
>>= combines the outputs of the subcomputations using
mappend.
Extract the output from a writer computation.
Extract the output from a writer computation.
Map both the return value and output of a computation using the given
function.
Map both the return value and output of a computation using the given
function.
Unwrap a writer computation as a (result, output) pair. (The inverse
of
writer.)
Unwrap a writer computation.