Writer +Control.Monad.Trans -transformers

type Writer w = WriterT w Identity
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
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.
execWriter :: Writer w a -> w
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
Extract the output from a writer computation. *  m = snd (runWriter >  
execWriterT :: Monad m => WriterT w m a -> m w
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
Extract the output from a writer computation. *  m = liftM snd > (runWriterT  
mapWriter :: ((a, w) -> (b, w')) -> Writer w a -> Writer w' b
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
Map both the return value and output of a computation using the given function. *  (mapWriter f m) = f (runWriter >  
mapWriterT :: (m (a, w) -> n (b, w')) -> WriterT w m a -> WriterT w' n b
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
Map both the return value and output of a computation using the given function. *  (mapWriterT f m) = f > (runWriterT  
runWriter :: Writer w a -> (a, w)
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
Unwrap a writer computation as a (result, output) pair. (The inverse of writer.)
package XmlHtmlWriter
package
A way to write XML and HTML with more efficient syntax. Version 0.0.0.1