我正在尝试为此数据类型编写Eq实例:
data Tree a b = Leaf b | Node a (Tree a b) (Tree a b)
deriving (Show)
Run Code Online (Sandbox Code Playgroud)
我写了一些我认为可行的简单代码:
instance Eq (Tree a b) where
(Leaf x) == (Leaf y) = x == y
(Node val1 l1 r1) == (Node val2 l2 r2) = (val1 == val2) && (l1==l2) && (r1==r2)
_ == _ = False
Run Code Online (Sandbox Code Playgroud)
但后来我得到了错误:
• No instance for (Eq a) arising from a use of ‘==’
Possible fix: add (Eq a) to the context of the …Run Code Online (Sandbox Code Playgroud)