|
| Control.Monad.State | | Portability | non-portable ( mulit-param classes, functional dependencies ) | | Stability | experimental | | Maintainer | libraries@haskell.org |
|
|
|
|
|
| Description |
State monads. 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. |
|
|
|
| class (Monad m) => MonadState s m | m -> s where |
| | Methods | | get :: m s | | | put :: s -> m () |
| | | Instances | |
|
|
| modify :: (MonadState s m) => (s -> s) -> m () |
|
| gets :: (MonadState s m) => (s -> a) -> m a |
|
| data State s a |
| Constructors | | State | | | runState :: (s -> (a, s)) | |
|
| | Instances | |
|
|
| runState :: State s a -> s -> (a, s) |
|
| evalState :: State s a -> s -> a |
|
| execState :: State s a -> s -> s |
|
| mapState :: ((a, s) -> (b, s)) -> State s a -> State s b |
|
| withState :: (s -> s) -> State s a -> State s a |
|
| data StateT s m a |
| Constructors | | StateT | | | runStateT :: (s -> m (a, s)) | |
|
| | Instances | |
|
|
| runStateT :: StateT s m a -> s -> m (a, s) |
|
| evalStateT :: (Monad m) => StateT s m a -> s -> m a |
|
| execStateT :: (Monad m) => StateT s m a -> s -> m s |
|
| mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b |
|
| withStateT :: (s -> s) -> StateT s m a -> StateT s m a |
|
| module Control.Monad |
|
| module Control.Monad.Fix |
|
| module Control.Monad.Trans |
|
| Produced by Haddock version 0.4 |