Я получаю non-exhaustive pattern
исключение для следующего метода:
groups::[Int]->[[Int]]
groups ls=go ls [] [] where
go [] small big=small:big
go (x:xs) (y:ys) big | x==y = go xs (x:y:ys) big
| otherwise = go xs [] ((y:ys):big)
Что я хочу сделать, это: учитывая массив [1,2,3,3,4,4,4,1]
Я хочу разбить его в списке последовательных дубликатов: [[1],[2],[3,3],[4,4,4],[1]]
.
Я использую 2
аккумуляторы, один для текущего формирующего списка, а другой для большого.
Я не могу использовать wild-card
ни для списка big
, ни для small
, поскольку единственной необычной ситуацией является пустой список ввода.