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
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe