Unique-0.4.4: It provides the functionality like unix "uniq" utility

Copyright(c) Volodymyr Yaschenko
LicenseBSD3
Maintainerualinuxcn@gmail.com
StabilityUnstable
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.List.Unique

Description

Library provides the functions to find unique and duplicate elements in the list

Synopsis

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

countElem :: Eq a => a -> [a] -> Int Source #

countElem gets the number of occurrences of the specified element. Example:

countElem 'o' "foo bar" == 2