Je suis relativement nouveau pour Haskell. J'écris un clone du jeu de cartes uno et je veux une sortie assez colorée d'une carte. Je neHaskell dérivant des instances supplémentaires pour les types de données importés
import System.Console.ANSI
qui fournit
data Color = Black
| Red
| Green
| Yellow
| Blue
| Magenta
| Cyan
| White
deriving (Bounded, Enum, Show)
maintenant je veux ajouter dériver (Ord, Eq) ainsi, je pourrais écrire ceci dans le fichier source du package importé, mais il devrait y avoir un moyen plus simple de le faire. Je n'ai aucune idée de ce que les mots-clés à google pour ou chercher dans un livre.
Pour la lecture classe de types I ajouté les lignes suivantes 'exemple Lire Couleur where¬ readsPrec _ str = [ (couleur (c), t) | ¬ (c, t) ← lit str] ¬ où la couleur x = cas x de "Noir" → Noir¬ "Rouge" → Rouge¬ "Vert" → Vert¬ "Jaune" → Jaune¬ "Bleu" → Bleu¬ ... ' – epsilonhalbe
En utilisant' import Data.Function (on) ':' instance Eq Color où (==) = (==) \ 'sur \' fromEnum', 'instance Ord Color où compare = compare \ 'sur \' fromEnum'. – rampion
Est-ce qu'il ne peut pas utiliser la dérivation autonome dériver Autom et Eq automagiquement? http://www.haskell.org/haskellwiki/GHC/Stand-alone_deriving_declarations –