packages feed

data-extra 2.5.3 → 2.5.4

raw patch · 2 files changed

+8/−1 lines, 2 files

Files

data-extra.cabal view
@@ -1,5 +1,5 @@ name:                data-extra-version:             2.5.3+version:             2.5.4 synopsis:            Extra utilities for working on Data.* types. description:         Extra utilities for working on Data.* types. license:             BSD3
src/Data/List/Extra.hs view
@@ -2,9 +2,11 @@  module Data.List.Extra where +import Control.Arrow import Data.Bool.Extra import Data.List import Data.Maybe+import Data.Ord  -- | When a list is non-null, pass it to a function, otherwise use the -- default.@@ -33,3 +35,8 @@ maxList :: (Num t, Ord t) => [t] -> t maxList [] = 0 maxList xs = maximum xs++-- | 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 (f &&& id)