| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Ether.Writer.Class
Description
- class (Monoid w, Monad m) => MonadWriter tag w m | m tag -> w where
- listens :: MonadWriter tag w m => proxy tag -> (w -> b) -> m a -> m (a, b)
- censor :: MonadWriter tag w m => proxy tag -> (w -> w) -> m a -> m a
Documentation
class (Monoid w, Monad m) => MonadWriter tag w m | m tag -> w where Source #
See MonadWriter.
Methods
writer :: proxy tag -> (a, w) -> m a Source #
Embed a simple writer action.
tell :: proxy tag -> w -> m () Source #
Append a value to the accumulator within the monad.
listen :: proxy tag -> m a -> m (a, w) Source #
Execute an action and add its accumulator to the value of the computation.
pass :: proxy tag -> m (a, w -> w) -> m a Source #
Execute an action which returns a value and a function, and return the value, applying the function to the accumulator.
Instances
| (LiftListen t, LiftPass t, Monad (t m), MonadWriter k tag w m, Monoid w) => MonadWriter k tag w (t m) Source # | |
| (Monoid w, Monad m, (~) * w w') => MonadWriter k tag w (WriterT k tag w' m) Source # | |
listens :: MonadWriter tag w m => proxy tag -> (w -> b) -> m a -> m (a, b) Source #
Execute an action and add the result of applying the given function to its accumulator to the value of the computation.
censor :: MonadWriter tag w m => proxy tag -> (w -> w) -> m a -> m a Source #
Execute an action and apply a function to its accumulator.