
17 Apr
2007
17 Apr
'07
7:11 a.m.
Maxime Henrion wrote:
class MonadState m where type StateType m :: * get :: m StateType put :: m StateType -> m ()
As for instances:
instance MonadState (State s) where type StateType = s -- this is line 22
When defining the type function StateType, you have to give it the required argument m = State s: type StateType (State s) = s
get = State $ \s -> (s, s) put s = State $ \_ -> ((), s)
Regards, apfelmus