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