writer

writer :: Monad m => (a, w) -> RWST r w s m a
transformers Control.Monad.Trans.RWS.Lazy, transformers Control.Monad.Trans.RWS.Strict
Construct a writer computation from a (result, output) pair.
writer :: Monad m => (a, w) -> WriterT w m a
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict
Construct a writer computation from a (result, output) pair. (The inverse of runWriter.)
writer :: MonadWriter w m => (a, w) -> m a
mtl Control.Monad.Writer.Class, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
module Control.Monad.Trans.Writer
transformers Control.Monad.Trans.Writer
The WriterT monad transformer. This version is lazy; for a strict version, see Control.Monad.Trans.Writer.Strict, which has the same interface.
module Control.Monad.Writer
mtl Control.Monad.Writer
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.
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.
WriterT :: m (a, w) -> WriterT w a
mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
WriterT :: m (a, w) -> WriterT w m a
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict
newtype WriterT w m a
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict
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.
type BufferWriter = Ptr Word8 -> Int -> IO (Int, Next)
bytestring Data.ByteString.Builder.Extra
A BufferWriter represents the result of running a Builder. It unfolds as a sequence of chunks of data. These chunks come in two forms: * an IO action for writing the Builder's data into a user-supplied memory buffer. * a pre-existing chunks of data represented by a strict ByteString While this is rather low level, it provides you with full flexibility in how the data is written out. The BufferWriter itself is an IO action: you supply it with a buffer (as a pointer and length) and it will write data into the buffer. It returns a number indicating how many bytes were actually written (which can be 0). It also returns a Next which describes what comes next.
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  
class (Monoid w, Monad m) => MonadWriter w m | m -> w
mtl Control.Monad.Writer.Class, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
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.)
runWriterT :: WriterT w a -> m (a, w)
mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
runWriterT :: WriterT w m a -> m (a, w)
transformers Control.Monad.Trans.Writer.Lazy, transformers Control.Monad.Trans.Writer.Strict
package stateWriter
package
This is a version of the RWS monad transformers that should be much faster than what's found in transformers. The writer in the strict version does not leak memory. Version 0.2.0
package xml-conduit-writer
package
It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.  Albert Einstein Check out more examples in test/Main.hs and look at the results with --enable-tests. Version 0.1.1.1

Show more results