List上的Haskell模式匹配

时间:2016-11-13 20:14:43

标签: haskell

我知道我们可以在Haskell中使用以下模式匹配:

sum :: (Num a) => [a] -> a  
sum [] = 0  
sum (x:xs) = x + sum xs 

但为什么我们不能使用[x] ++ xs

sum :: (Num a) => [a] -> a  
sum [] = 0  
sum ([x] ++ xs) = x + sum xs

1 个答案:

答案 0 :(得分:5)

您可以使用构造函数和文字来模式匹配,但不能使用函数。