这是我在调用Haskell子字符串函数时为什么会得到"函数中的非详尽模式..."的后续内容?
据我所知,使用-WallGHC可以警告不详尽的模式.我想知道在默认情况下没有使它成为编译时错误的原因是什么,因为它始终可以显式定义部分函数:
f :: [a] -> [b] -> Int
f [] _ = error "undefined for empty array"
f _ [] = error "undefined for empty array"
f (_:xs) (_:ys) = length xs + length ys
Run Code Online (Sandbox Code Playgroud)
问题不是针对GHC的.
是因为......
haskell functional-programming non-exhaustive-patterns partial-functions