Die Zustands-Monade

import Control.Monad.State

tick :: State Integer ()
tick = do c <- get ; put $ c + 1

evalState ( do tick ; tick ; get ) 0

Aufgabe: wie könnte die Implementierung aussehen?

data State s a = ...
evalState = ... ; get = ... ; put = ...
instance Monad ( State s ) where ...



Johannes Waldmann 2011-01-18