J'essaie d'ajouter une déclaration d'instance dans Haskell pour un nouveau type de données que j'ai créé sans succès. Voici ce que j'ai essayé jusqu'à présent:Haskell: déclaration de nouvelle instance pour Show
data Prediction = Prediction Int Int Int
showPrediction :: Prediction -> String
showPrediction (Prediction a b c) = show a ++ "-" ++ show b ++ "-" ++ show c
instance Show (Prediction p) => showPrediction p
Semble la dernière ligne est fausse mais je ne suis pas sûr de savoir comment réaliser ce que je veux. Fondamentalement, il est possible d'appeler une variable de prédiction à partir de l'interpréteur et de la visualiser sans avoir à appeler le showPrediction. En ce moment, cela fonctionne:
showPrediction (Prediction 1 2 3)
et montre:
"1-2-3"
comme prévu, mais je voudrais que cela fonctionne (de l'interprète):
Prediction 1 2 3
Toutes les idées?
++ de haute qualité, approfondie, réponse complète. – delnan
Merci pour la bonne réponse aussi! Le "Deriving Show" fonctionnait parfaitement aussi. Bon à savoir ;)) –