Documentation
module Control.Monad.WriterX.Class
runWriterX :: Index ix => ix -> WriterX ix w a -> (a, w)Source
execWriterX :: Index ix => ix -> WriterX ix w a -> wSource
mapWriterX :: Index ix => ix -> ((a, w) -> (b, w')) -> WriterX ix w a -> WriterX ix w' bSource
data Index ix => WriterTX ix w m a Source
WriterTX ix (m (a, w)) |
runWriterTX :: Index ix => ix -> WriterTX ix w m a -> m (a, w)Source
execWriterTX :: (Index ix, Monad m) => ix -> WriterTX ix w m a -> m wSource
mapWriterTX :: Index ix => ix -> (m (a, w) -> n (b, w')) -> WriterTX ix w m a -> WriterTX ix w' n bSource
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans
module Data.Monoid