Wie funktioniert das Ableiten von Arbeit in Haskell?
Algebraic Datentype (ADTs) in Haskell können automatisch zu Instanzen einiger @ werde typeclasses (wieShow
, Eq
) durch ableiten von ihnen
data Maybe a = Nothing | Just a
deriving (Eq, Ord)
Meine Frage ist, wie funktioniert dasderiving
ie kann Haskell die Funktionen der abgeleiteten Typenklasse für die ableitende ADT implementiere
Auch, warum istderiving
nur auf bestimmte typen beschränkt? Warum kann ich keine eigene Typenklasse schreiben, die abgeleitet werden kann?