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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to