On Dec 21, 2008, at 8:52 AM, Martijn van Steenbergen wrote:
Hello all,
Data.Ord has a handy function called comparing, and its
documentation shows an example of its use.
But what if you want to sort a list of values based on multiple
criteria? It turns out there is a neat way to do this:
compareTuple = mconcat [comparing fst, comparing snd]
The default Monoid instances for Ordering and functions work exactly
as required here. (Thanks to vixey in #haskell for the hint to look
at monoids!)
Indeed, this is great to know. I can't help but notice that there is
no documentation of any kind at all for the Monoid instance of
Ordering; how were we supposed to know this behavior existed in the
first place, except by hunting down the source code for the instance
declaration?
-Jan-Willem Maessen
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe