 | monads-fd-0.1.0.1: Monad classes, using functional dependencies | Contents | Index |
|
Control.Monad.Writer.Class | Portability | non-portable (multi-param classes, functional dependencies) | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
Description |
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.
|
|
Synopsis |
|
|
|
Documentation |
|
class (Monoid w, Monad m) => MonadWriter w m | m -> w where |
| Methods | tell :: w -> m () | tell w is an action that produces the output w.
| | listen :: m a -> m (a, w) | listen m is an action that executes the action m and adds
its output to the value of the computation.
| | pass :: m (a, w -> w) -> m a | pass m is an action that executes the action m, which
returns a value and a function, and returns the value, applying
the function to the output.
|
| | Instances | |
|
|
listens :: MonadWriter w m => (w -> b) -> m a -> m (a, b) |
listens f m is an action that executes the action m and adds
the result of applying f to the output to the value of the computation.
|
|
censor :: MonadWriter w m => (w -> w) -> m a -> m a |
censor f m is an action that executes the action m and
applies the function f to its output, leaving the return value
unchanged.
|
|
Produced by Haddock version 2.7.2 |