Haskell: zaskakujące zachowanie „groupBy”

Próbuję odgadnąć zachowanie funkcji bibliotecznej groupBy (z Data.List), która zakłada grupowanie elementów listy za pomocą funkcji „test równości” przekazanej jako pierwszy argument. Podpis typu sugeruje, że test równości musi mieć tylko typ

(a -> a -> Bool)

Jednak gdy używam (<) jako „testu równości” w GHCi 6.6, wyniki nie są tym, czego oczekuję:

ghci> groupBy (<) [1, 2, 3, 2, 4, 1, 5, 9]
[[1,2,3,2,4],[1,5,9]]

Zamiast tego oczekiwałbym, że liczba ta będzie wzrastać, jak poniżej:

[[1,2,3],[2,4],[1,5,9]]

czego mi brakuje?

questionAnswers(4)

yourAnswerToTheQuestion