
zdenes:
Hello,
I made a simple datatype called Pair and I'd like to make it an instance of Show class. But when I try to do that I run into troubles:
data Pair a b = Pair a b instance Show a b => Show (Pair a b) where show (Pair a b) = show a ++ "_" ++ show b
In Hugs I get this error: "Haskell does not support multiple parameter classes" When I run it in ghci I get a kind error "Show is applied to too many type arguments in the instance declaration for Show (Pair a b)"
Am I jsut using wrong syntax or is it not possible to do?
Missing some parens and a comma:
data Pair a b = Pair a b
instance (Show a, Show b) => Show (Pair a b) where show (Pair a b) = show a ++ "_" ++ show b
$ hugs A.hs Main> show (Pair 'x' ()) "'x'_()" Alternately:
data Pair a b = Pair a b deriving Show
-- Don