海蘭, 我已經定義的數據結構爲自然數,並且希望定義一個Eq
實例,看看兩個數字是否相等,但我不斷收到消息: 「曖昧occurence 'Eq',它可以指Main.eq或Prelude.eq「 你能告訴我,我可能做錯了什麼?定義式實例-Haskell
data Nat = Z | S Nat deriving Show
class Eq a where
(==) :: a -> a -> Bool
instance Eq Nat where
Z == Z = True
(S x) == (S y) = x == y
x == y = False
非常感謝!
我相信,你不應該定義自己的'Eq',讓'類方程一個地方(==)::一 - > a - > Bool'是多餘的 –