Sto cercando di capire il comportamento del gruppo di funzioni di libreriaBy (da DataList), che si propone di raggruppare gli elementi di una lista con una funzione di "test di uguaglianza" inoltrata come il primo argomento. La firma di tipo suggerisce che il test di uguaglianza solo bisogno di avere tipoHaskell: comportamento sorprendente di "groupBy"
(a -> a -> Bool)
Tuttavia, quando uso (<) come il "test di uguaglianza" in GHCi 6.6, i risultati non sono ciò che mi aspetto:
ghci> groupBy (<) [1, 2, 3, 2, 4, 1, 5, 9]
[[1,2,3,2,4],[1,5,9]]
Invece mi aspetto piste di numeri strettamente crescente, come questo:
[[1,2,3],[2,4],[1,5,9]]
che cosa mi manca?
Grazie. Non mi ero reso conto che la documentazione richiede che un test di uguaglianza sia una relazione di equivalenza. – Pillsy
Non dice che deve essere una relazione di equivalenza. In effetti, ci sono cose utili che puoi fare usando relazioni non equivalenti. per esempio. http://stackoverflow.com/questions/930675/functional-paragraphs/930765#930765 – newacct