У меня проблема с этим кодом, он должен считать самую длинную подстроку одной буквы в строке, но есть ошибка:
*** Exception: test.hs:(15,0)-(21,17):
Non-exhaustive patterns in function countLongest'
Я знаю, что это проблема неправильных типов, но я не знаю, где ошибка, или как ее найти или отладить.
countLongest :: (Eq a) => [a] -> Int
countLongest' :: (Eq a) => Int -> Int -> [a] -> Int
countLongest a = countLongest' 0 0 a
countLongest' n max (y:x:ys)
| y == x = countLongest' (n+1) max (x:ys)
| n > max = countLongest' 0 (n) (x:ys)
| otherwise = countLongest' 0 (max) (x:ys)
countLongest' n max []
| n > max = n
| otherwise = max