Re: [Haskell-cafe] What are Kind errors and how do you fix them?

I dont understand what you are trying to do: type ReverseType a string = (string ->(string,a)) takes a string an returns a string and another value (looks like the state monad with state=String. data Reverse a string = Reverse (ReverseType a string) this just declares a type wrapper... why have both of the above, you only need: data Reverse a s = Reverse (s -> (s,a)) NOw for your class definition: return x = Reverse (\text -> (text,x)) this is the standard return from a state monad. (Reverse p) >>= k = Reverse p3 where p3 s0 = p2 s1 where (Reverse p2) = k a (s1,a)=p s0 the second parameter (k) needs the state passed as well after unwrapping like: p2 = (\(Reverse x) -> x) (k a) s1 Regards, Keean.
participants (1)
-
MR K P SCHUPKE