|
Control.Monad.RWS | Portability | non-portable (multi-param classes, functional dependencies) | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
Declaration of the MonadRWS class. Inspired by the paper
Functional Programming with Overloading and
Higher-Order Polymorphism,
Mark P Jones (http://www.cse.ogi.edu/~mpj/)
Advanced School of Functional Programming, 1995. |
|
|
|
newtype RWS r w s a |
Constructors | RWS | | runRWS :: (r -> s -> (a, s, w)) | |
|
| Instances | |
|
|
evalRWS :: RWS r w s a -> r -> s -> (a, w) |
|
execRWS :: RWS r w s a -> r -> s -> (s, w) |
|
mapRWS :: ((a, s, w) -> (b, s, w')) -> RWS r w s a -> RWS r w' s b |
|
withRWS :: (r' -> s -> (r, s)) -> RWS r w s a -> RWS r' w s a |
|
newtype RWST r w s m a |
Constructors | RWST | | runRWST :: (r -> s -> m (a, s, w)) | |
|
| Instances | |
|
|
evalRWST :: (Monad m) => RWST r w s m a -> r -> s -> m (a, w) |
|
execRWST :: (Monad m) => RWST r w s m a -> r -> s -> m (s, w) |
|
mapRWST :: (m (a, s, w) -> n (b, s, w')) -> RWST r w s m a -> RWST r w' s n b |
|
withRWST :: (r' -> s -> (r, s)) -> RWST r w s m a -> RWST r' w s m a |
|
module Control.Monad.Reader |
|
module Control.Monad.Writer |
|
module Control.Monad.State |
|
Produced by Haddock version 0.4 |