我是 Haskell 的新手,并试图组合一个简单的函数来检查两个数字是否相等。这可以编译,但是当我尝试对该程序进行测试时,它说这不是详尽的。我不明白布尔函数如何不详尽?提前致谢:
data Value = ConstInt Int
| Numequal Value Value
| Ctrue Bool
| Cfalse Bool
deriving (Read, Show)
eval:: Value -> Bool
eval (Numequal e1 e2) =
let x = eval e1
y = eval e2
in case (x, y) of
(i1, i2) ->
if x == y
then False
else True