Haskell非穷举模式 - 错误

时间:2014-01-02 15:49:53

标签: haskell boolean

我有这段代码

andAll :: [Bool] -> Bool
andAll (x:xs) = x && andAll xs

当我运行它时,经过一些研究后它给了我'*** Exception: worksheet5.hs:80:1-30: Non-exhaustive patterns in function andAll'似乎我需要为空列表添加一个案例。我不太确定如何指定这个,我尝试了andAll [] = [],但这仍然给出了错误。

1 个答案:

答案 0 :(得分:5)

模式(x:xs)仅匹配具有至少一个元素的序列。您需要添加一个模式以匹配空序列。

andAll :: [Bool] -> Bool
andAll (x:xs) = x && andAll xs
andAll [] = True