Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Internal.MultiSet
Description
A simple implementation of multisets as hash maps to counts. Supports just what is needed for protovoice slices.
Synopsis
- newtype MultiSet a = MS {}
- toList :: MultiSet a -> [a]
- all :: (a -> Bool) -> MultiSet a -> Bool
- toOccurList :: MultiSet k -> [(k, Int)]
- distinctElems :: MultiSet k -> [k]
- union :: (Eq a, Hashable a) => MultiSet a -> MultiSet a -> MultiSet a
- unions :: (Foldable t, Eq a0, Hashable a0) => t (MultiSet a0) -> MultiSet a0
- maxUnion :: (Eq a, Hashable a) => MultiSet a -> MultiSet a -> MultiSet a
- deleteN :: Int -> Int -> Maybe Int
- (\\) :: (Eq a, Hashable a) => MultiSet a -> MultiSet a -> MultiSet a
- toSet :: MultiSet k -> HashSet k
- size :: MultiSet a -> Int
- map :: (Eq b, Hashable b) => (a -> b) -> MultiSet a -> MultiSet b
- traverse :: (Eq b, Hashable b, Applicative f) => (a -> f b) -> MultiSet a -> f (MultiSet b)
- filter :: (a -> Bool) -> MultiSet a -> MultiSet a
- fromList :: (Foldable t, Eq a, Hashable a) => t a -> MultiSet a
- fromSet :: (Foldable t, Eq a, Hashable a) => t a -> MultiSet a
- null :: MultiSet k -> Bool
- delete :: (Eq a, Hashable a) => a -> MultiSet a -> MultiSet a
- empty :: MultiSet a
- foldM :: Monad m => (b -> a -> m b) -> b -> MultiSet a -> m b
- insertMany :: (Eq a, Hashable a) => a -> Int -> MultiSet a -> MultiSet a
- insert :: (Eq a, Hashable a) => a -> MultiSet a -> MultiSet a
- singleton :: Hashable a => a -> MultiSet a
- member :: (Eq k, Hashable k) => k -> MultiSet k -> Bool
- lookup :: (Eq k, Hashable k) => k -> MultiSet k -> Int
- (!) :: (Eq k, Hashable k) => MultiSet k -> k -> Int
Documentation
A hash multiset. A unordered collection of items that can occur several times.
Instances
(Eq a, Hashable a) => Semigroup (MultiSet a) Source # | |
Generic (MultiSet a) Source # | |
Show a => Show (MultiSet a) Source # | |
NFData a => NFData (MultiSet a) Source # | |
Defined in Internal.MultiSet | |
Eq a => Eq (MultiSet a) Source # | |
Ord a => Ord (MultiSet a) Source # | |
Hashable a => Hashable (MultiSet a) Source # | |
Defined in Internal.MultiSet | |
type Rep (MultiSet a) Source # | |
Defined in Internal.MultiSet |
toOccurList :: MultiSet k -> [(k, Int)] Source #
distinctElems :: MultiSet k -> [k] Source #