OK, I looked up "group" and didn't see any Ord constraint analog. I give up. What is the common idiom? I was stupidly using nub even though I already have an Ord constraint. I have rewritten it to:

unique :: Ord a => [a] -> [a]
unique (x:y:z) = (if x < y then (x:) else id) (unique (y:z))
unique xyz     = xyz

uniqueSort = unique . sort

but I would much rather use the "common idiom" than this dreck.

Help a poor guy out? :)

Dan

Paul Johnson wrote:
Andrew Coppin wrote:
It occurs to me that if you want a sorted list of only unique elements, it would seem (to me) to be efficient to do the sorting and the uniquing at the same time. Does any library function do this? (I imagine it wouldn't be hard to write it yourself...)
Yes, although it only works on instances of Ord then, because of the sorting.

Its actually quite a common idiom, and worth figuring out for yourself. Hint: look at "group".

Paul.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe




_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to