J'essaye de faire une paire une instance de Printable
, mais je ne peux pas comprendre la syntaxe correcte. Mon imprimable est la suivante:Syntaxe de Haskell par exemple
class Printable a where
toString :: a -> [Char]
instance Printable Bool where
toString True = "true"
toString False = "false"
instance Printable() where
toString() = "unit type"
et mon exemple pour les paires est la suivante:
instance Printable (a, b) where
toString (a,b) = "(" ++ toString a ++ ","++ toString b ++ ")"
qui, lors de la compilation, me donne un No instance for (Printable a) arising from a use of ‘toString’
. Qu'est-ce que je fais de mal?
BTW, ceci est une erreur de type, pas une erreur de syntaxe. –