Ich kam zu wissen, dass wir mehrere Vererbung mit Typklassen erreichen können. Ich hatte einen kleinen Haskell-Code geschrieben, konnte aber das Problem nicht lösen.Haskell: Typ Klassen: multiple Vererbung Beispiel
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StandaloneDeriving #-}
class (Eq a, Show a) => C a where
getHashCode :: a -> Integer
getHashCode obj = 123
type Id = Int
type Name = String
data Employee = Employee Id Name deriving C
Wenn ich versuchte, über Code zu laden, erhalte ich folgenden Fehler. Irgendeine Hilfe dazu.
No instance for (Eq Employee)
arising from the 'deriving' clause of a data type declaration
Possible fix:
use a standalone 'deriving instance' declaration,
so you can specify the instance context yourself
When deriving the instance for (C Employee)
Failed, modules loaded: none.
Ich suchte Google einige Zeit, aber nicht in der Lage, gutes Beispiel für Mehrfachvererbung zu finden. Es wird hilfreich sein, wenn Sie einige Informationen bereitstellen, beispielsweise zur Mehrfachvererbung in Haskell.
Referenz: https://www.haskell.org/tutorial/classes.html
Danke für die Antwort. Wir können mehr als eine Typklasse ableiten, aber meine Frage war, ich möchte die Anweisung 'class (Eq a, Zeige a) => C a where' verwenden, mit dieser wie kann ich den Fehler auflösen. –