Copyright | (c) Volodymyr Yaschenko |
---|---|
License | BSD3 |
Maintainer | ualinuxcn@gmail.com |
Stability | Unstable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Library provides the functions to find unique and duplicate elements in the list
- complex :: Eq a => [a] -> ([a], [a], [a])
- sortUniq :: Ord a => [a] -> [a]
- repeated :: Ord a => [a] -> [a]
- repeatedBy :: Ord a => (Int -> Bool) -> [a] -> [a]
- unique :: Ord a => [a] -> [a]
- count :: Ord a => [a] -> [(a, Int)]
- count_ :: Ord a => [a] -> [(a, Int)]
- occurrences :: Ord a => [a] -> [(Int, [a])]
- countElem :: Eq a => a -> [a] -> Int
Documentation
complex :: Eq a => [a] -> ([a], [a], [a]) Source #
complex
function is a complex investigation of the list. It returns triple:
- first - all elements without duplicates.
- second - the elements that are repeated at least once in the list (result is the same as
repeated
but not sorted) - third - the unique elements that do not have duplicates (result is the same as
unique
but not sorted)
complex
does not sort the resulted elements of triple as well as it can be used for types that does not have Ord instance
complex "This is the test line" == ("This teln","is hte","Tln")
Since 0.4.4
sortUniq :: Ord a => [a] -> [a] Source #
sortUniq
sorts the list and removes the duplicates of elements. Example:
sortUniq "foo bar" == " abfor"
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"
count :: Ord a => [a] -> [(a, Int)] Source #
count
of each element in the list, it sorts by keys (elements). Example:
count "foo bar" == [(' ',1),('a',1),('b',1),('f',1),('o',2),('r',1)]
count_ :: Ord a => [a] -> [(a, Int)] Source #
count_
of each elements in the list, it sorts by their number. Example:
count_ "foo bar" == [(' ',1),('a',1),('b',1),('f',1),('r',1),('o',2)]
occurrences :: Ord a => [a] -> [(Int, [a])] Source #
occurrences
like count
or count_
but shows the list of elements that occur X times
occurrences "This is the test line" == [(1,"Tln"),(2,"h"),(3,"eist"),(4," ")]
Since 0.4.4