Я пытаюсь выяснить поведение библиотечной функции groupBy (из Data.List), которая связывает элементы списка с помощью функции проверки равенства, переданной в качестве первого аргумента. Подпись типа предполагает, что тест равенства должен иметь тип
(a -> a -> Bool)
Однако, когда я использую (<) как "тест равенства" в GHCi 6.6, результаты не являются тем, что я ожидаю:
ghci> groupBy (<) [1, 2, 3, 2, 4, 1, 5, 9]
[[1,2,3,2,4],[1,5,9]]
Вместо этого я ожидал бы бега строго возрастающего числа, например:
[[1,2,3],[2,4],[1,5,9]]
Что мне не хватает?