Copyright | (c) Volodymyr Yashchenko |
---|---|
License | BSD3 |
Maintainer | ualinuxcn@gmail.com |
Stability | Unstable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Library provides functions to find unique and duplicate elements in the list. Unlike Data.List.Unique this one uses Data.Map.Strict for calculations. So it's much faster and it uses less memory.
- sortUniq :: Ord a => [a] -> [a]
- isUnique :: Ord a => a -> [a] -> Maybe Bool
- isRepeated :: Ord a => a -> [a] -> Maybe Bool
- repeated :: Ord a => [a] -> [a]
- repeatedBy :: Ord a => (Int -> Bool) -> [a] -> [a]
- unique :: Ord a => [a] -> [a]
- allUnique :: Ord a => [a] -> Bool
- count :: Ord a => [a] -> [(a, Int)]
- count_ :: Ord a => [a] -> [(a, Int)]
Documentation
sortUniq :: Ord a => [a] -> [a] Source #
sortUniq
sorts the list and removes the duplicates of elements. Example:
sortUniq "foo bar" == " abfor"
isUnique :: Ord a => a -> [a] -> Maybe Bool Source #
isUnique
function is to check whether the given element is unique in the list or not.
It returns Nothing when the element does not present in the list. Examples:
isUnique 'f' "foo bar" == Just True isUnique 'o' "foo bar" == Just False isUnique '!' "foo bar" == Nothing
Since 0.4.7.2
isRepeated :: Ord a => a -> [a] -> Maybe Bool Source #
isRepeated
is a reverse function to isUnique
Since 0.4.5
repeated :: Ord a => [a] -> [a] Source #
repeated
finds only the elements that are present more than once in the list. Example:
repeated "foo bar" == "o"
repeatedBy :: Ord a => (Int -> Bool) -> [a] -> [a] Source #
The repeatedBy
function behaves just like repeated, except it uses a user-supplied equality predicate.
repeatedBy (>2) "This is the test line" == " eist"
unique :: Ord a => [a] -> [a] Source #
unique
gets only unique elements, that do not have duplicates.
It sorts them. Example:
unique "foo bar" == " abfr"
allUnique :: Ord a => [a] -> Bool Source #
allUnique
checks whether all elements of the list are unique
allUnique "foo bar" == False allUnique ['a'..'z'] == True allUnique [] == True (!)
Since 0.4.7.2