ADTs en Haskell peut devenir instance de certaines typeclasses (comme Show
, Eq
) en dérivant.
data Maybe a = Nothing | Just a
deriving (Eq, Ord)
Ma question est, comment est-ce découlant de travail, c'est à dire comment Haskell savoir comment mettre en œuvre les fonctions de la dérivée typeclass pour l'découlant de l'ADT?
Aussi, pourquoi tire limitée à certaines typeclasses seulement? Pourquoi ne puis-je pas écrire mon propre typeclass qui peut être dérivé?