Function to add to Data.List
johnw at fpcomplete.com
Sat Apr 5 21:53:04 UTC 2014
I heard a talk that mentioned this transform today at Hac NYC, and was
surprised it wasn't already in Data.List:
-- | Sort a list using a key on each element. This implements the
-- decorate-sort-undecorate paradigm, also called a Schwarzian transform.
sortByKey :: Ord b => (a -> b) -> [a] -> [a]
sortByKey f = map snd . sortBy (comparing fst) . map (\x -> (f x, x))
I would like to propose adding it.
More information about the Libraries