Comment faire un type d'une instance de l'Égaliseur
J'ai un type de données appelé Praat
. Je veux Praat
à être une instance de Eq
de sorte que les deux Praat
s sont égaux si et seulement si mx
sont égaux. Comment fait-on cela?
-- data type
data Praat t = Praat [k] [(k,k,k,k)]
-- praat gives the maximum frequency
Praat t -> Int
mx (Praat [] _) = 0
mx (Praat (e:es) pt) = ...........
C'est de cette façon que je suis en train d'essayer de définir l'instance, mais il ne fonctionne pas.
-- I want to make Praat instance of Eq so that two Praat are equal
-- when their respective `mx` are equal
instance Eq Praat where
mx :: (Praat k)->Int
(mx k) == (mx k) = True
_ == _ = False
OriginalL'auteur Eddy Freeman | 2011-12-02
Vous devez vous connecter pour publier un commentaire.
C'est à peu près une traduction directe de ce que vous avez dit.
x
est égal ày
quandmx x == mx y
.(==) 'on' mx
OriginalL'auteur hammar