Haskell: überraschendes Verhalten von "groupBy"

Ich versuche, das Verhalten der Bibliotheksfunktion groupBy (aus Data.List) herauszufinden, die vorgibt, Elemente einer Liste durch eine "Gleichheitstest" -Funktion zu gruppieren, die als erstes Argument übergeben wird. Die Typensignatur legt nahe, dass der Gleichheitstest nur einen Typ haben muss

(a -> a -> Bool)

Wenn ich jedoch (<) als "Gleichheitstest" in GHCi 6.6 verwende, stimmen die Ergebnisse nicht mit meinen Erwartungen überein:

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

Stattdessen würde ich Läufe mit streng steigenden Zahlen erwarten:

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

Was vermisse ich?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage