[Haskell-beginners] sorting by elements in a tuple
Chaddaï Fouché
chaddai.fouche at gmail.com
Fri Oct 16 04:37:38 EDT 2009
On Fri, Oct 16, 2009 at 8:07 AM, Daniel Fischer
<daniel.is.fischer at web.de> wrote:
> You would achieve that by
>
> tuplesort = sortBy (comparing fst)
>
> or, eta-expanded,
>
> tuplesort xs = sortBy (comparing fst) xs
>
> But if you finally want to sort by the second component also (subordinate to sorting by
> the first component), it's much easier to go the whole way at once and use plain "sort".
>
For completeness sake, you can do it like that :
tuplesort = sortBy (comparing fst `mplus` comparing snd)
It's interesting to know how to do it if you want to sort using a
different function than the compare of Ord. The "mplus" use some
instances of Monoid that you'll find in Data.Monoid so don't forget to
import it.
--
Jedaï
More information about the Beginners
mailing list