| |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| Description | |||||||||||||||||||||||||||||||||||
MonadState class. This module is inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, Mark P Jones (http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional Programming, 1995. | |||||||||||||||||||||||||||||||||||
| Synopsis | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| Documentation | |||||||||||||||||||||||||||||||||||
| class Monad m => MonadState s m | m -> s where | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| modify :: MonadState s m => (s -> s) -> m () | |||||||||||||||||||||||||||||||||||
Monadic state transformer. Maps an old state to a new state inside a state monad. The old state is thrown away. Main> :t modify ((+1) :: Int -> Int)
modify (...) :: (MonadState Int a) => a ()
This says that modify (+1) acts over any Monad that is a member of the MonadState class, with an Int state. | |||||||||||||||||||||||||||||||||||
| gets :: MonadState s m => (s -> a) -> m a | |||||||||||||||||||||||||||||||||||
| Gets specific component of the state, using a projection function supplied. | |||||||||||||||||||||||||||||||||||
| Produced by Haddock version 2.7.2 |