我很困惑,爲什麼這個函數的第一個和第三個版本給出這個錯誤,而第二個定義正常工作。Haskell:函數中的非窮盡模式(簡單函數)
-- head and tail
third :: [a] -> a
third [a] = head (tail (tail[a]))
-- Pattern matching
third2 :: [a] -> a
third2 (_:_:x:_) = x
-- List indexing
third3 :: [a] -> a
third3 [a] = [a]!!2
預先感謝
ghc 7.4.1用'-Wall'抱怨了所有三個功能。你使用什麼編譯器? – 2013-02-15 18:34:20