Copyright | (c) 2021 Rudy Matela |
---|---|
License | 3-Clause BSD (see the file LICENSE) |
Maintainer | Rudy Matela <rudy@matela.com.br> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- module Data.List
- module Data.Function
- module Data.Maybe
- module Data.Monoid
- module Data.Tuple
- module Data.Typeable
- count :: (a -> Bool) -> [a] -> Int
- nubOn :: Eq b => (a -> b) -> [a] -> [a]
- iterateUntil :: (a -> a -> Bool) -> (a -> a) -> a -> a
- mzip :: Monoid a => [a] -> [a] -> [a]
- groupOn :: Eq b => (a -> b) -> [a] -> [[a]]
- sortOn :: Ord b => (a -> b) -> [a] -> [a]
Documentation
module Data.List
module Data.Function
module Data.Maybe
module Data.Monoid
module Data.Tuple
module Data.Typeable
iterateUntil :: (a -> a -> Bool) -> (a -> a) -> a -> a Source #
sortOn :: Ord b => (a -> b) -> [a] -> [a] #
Sort a list by comparing the results of a key function applied to each
element. sortOn f
is equivalent to sortBy (comparing f)
, but has the
performance advantage of only evaluating f
once for each element in the
input list. This is called the decorate-sort-undecorate paradigm, or
Schwartzian transform.
Elements are arranged from from lowest to highest, keeping duplicates in the order they appeared in the input.
>>>
sortOn fst [(2, "world"), (4, "!"), (1, "Hello")]
[(1,"Hello"),(2,"world"),(4,"!")]
Since: base-4.8.0.0