|
| Control.Monad.RWS.Lazy | | Portability | non-portable (multi-param classes, functional dependencies) | | Stability | experimental | | Maintainer | libraries@haskell.org |
|
|
|
| Description |
Lazy RWS monad.
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.
|
|
|
| Documentation |
|
| 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 | | (Monoid w, Monad m) => MonadRWS r w s (RWST r w s m) | | (Monoid w, MonadError e m) => MonadError e (RWST r w s m) | | (Monoid w, Monad m) => MonadReader r (RWST r w s m) | | (Monoid w, Monad m) => MonadState s (RWST r w s m) | | (Monoid w, Monad m) => MonadWriter w (RWST r w s m) | | Monoid w => MonadTrans (RWST r w s) | | Monad m => Functor (RWST r w s m) | | (Monoid w, Monad m) => Monad (RWST r w s m) | | (Monoid w, MonadCont m) => MonadCont (RWST r w s m) | | (Monoid w, MonadFix m) => MonadFix (RWST r w s m) | | (Monoid w, MonadIO m) => MonadIO (RWST r w s m) | | (Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) |
|
|
|
| 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.RWS.Class |
|
| Produced by Haddock version 0.8 |