 | 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 |