嘗試創建一個從列表中刪除重複項並用單個元素替換它們的函數。繼續收到錯誤消息「函數removeduplicate中的非窮舉模式」。我認爲這意味着我的模式匹配缺少可能的情況?我想我已經涵蓋了所有可能性。我對Haskell很新,所以任何幫助都非常感謝。例外:函數中的非窮盡模式
removeduplicate :: (Eq a) => [a] -> [a]
removeduplicate [] = []
removeduplicate (x:[]) = [x]
removeduplicate (x:z:[]) = if z == x then [x] else (x:z:[])
removeduplicate (x:y:[xs])
| x == y = x:(removeduplicate [xs])
| otherwise = x:y:(removeduplicate [xs])