| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Data.Discrimination.Grouping
Contents
Synopsis
- newtype Group a = Group {}
- class Grouping a where
- class Grouping1 f where
- nub :: Grouping a => [a] -> [a]
- nubWith :: Grouping b => (a -> b) -> [a] -> [a]
- group :: Grouping a => [a] -> [[a]]
- groupWith :: Grouping b => (a -> b) -> [a] -> [[a]]
- groupingEq :: Grouping a => a -> a -> Bool
- runGroup :: Group a -> [(a, b)] -> [[b]]
- hashing :: Hashable a => Group a
Documentation
Productive Stable Unordered Discriminator
Constructors
| Group | |
Eq equipped with a compatible stable unordered discriminator.
Methods
Instances
Methods
grouping1 :: Group a -> Group (f a) #
grouping1 :: Deciding1 Grouping f => Group a -> Group (f a) #
Instances
| Grouping1 [] # | |
Defined in Data.Discrimination.Grouping | |
| Grouping1 Maybe # | |
| Grouping1 Complex # | |
| Grouping a => Grouping1 (Either a) # | |
| Grouping a => Grouping1 ((,) a) # | |
Defined in Data.Discrimination.Grouping | |
| (Grouping a, Grouping b) => Grouping1 ((,,) a b) # | |
Defined in Data.Discrimination.Grouping | |
| (Grouping a, Grouping b, Grouping c) => Grouping1 ((,,,) a b c) # | |
Defined in Data.Discrimination.Grouping | |
| (Grouping1 f, Grouping1 g) => Grouping1 (Compose f g) # | |
Combinators
groupWith :: Grouping b => (a -> b) -> [a] -> [[a]] #
O(n). This is a replacement for groupWith using discrimination.
The result equivalence classes are not sorted, but the grouping is stable.