writer package:monads-tf

The MonadWriter class. Inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, Mark P Jones (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html) Advanced School of Functional Programming, 1995.
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.
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.)