[Haskell-cafe] Short and sweet

Dan Weston westondan at imageworks.com
Fri May 18 18:07:43 EDT 2007


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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 
> 




More information about the Haskell-Cafe mailing list