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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe