Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype UMSet a = UMSet {
- unUMSet :: [a]
- (\\) :: Eq a => UMSet a -> UMSet a -> UMSet a
- null :: Eq a => UMSet a -> Bool
- size :: UMSet a -> Int
- member :: Eq a => a -> UMSet a -> Bool
- notMember :: Eq a => a -> UMSet a -> Bool
- lookup :: Eq a => a -> UMSet a -> Maybe a
- isSubsetOf :: Eq a => UMSet a -> UMSet a -> Bool
- isProperSubsetOf :: Eq a => UMSet a -> UMSet a -> Bool
- empty :: UMSet a
- singleton :: a -> UMSet a
- insert :: a -> UMSet a -> UMSet a
- delete :: Eq a => a -> UMSet a -> UMSet a
- union :: Eq a => UMSet a -> UMSet a -> UMSet a
- difference :: Eq a => UMSet a -> UMSet a -> UMSet a
- intersection :: Eq a => UMSet a -> UMSet a -> UMSet a
- filter :: (a -> Bool) -> UMSet a -> UMSet a
- partition :: (a -> Bool) -> UMSet a -> (UMSet a, UMSet a)
- map :: (a -> b) -> UMSet a -> UMSet b
- mapMaybe :: (a -> Maybe b) -> UMSet a -> UMSet b
Documentation
Unordered sets with duplicate elements. The semantics for "unordering" is based on the idea that we will not know what order the elements are in at any point, and we are free to re-order elements in any way.
Most binary functions are algorithmically heavier on the right arguments.
Pronounced "Unordered Many Set"
Functor UMSet Source | |
Mergeable UMSet Source | |
Eq a => CanBeProperSubset (UMSet a) Source | |
Eq a => CanBeSubset (UMSet a) Source | |
HasSize (UMSet a) Source | |
HasEmpty (UMSet a) Source | |
Eq a => HasIntersection (UMSet a) Source | |
Eq a => HasDifference (UMSet a) Source | |
Eq a => HasUnion (UMSet a) Source | |
HasSingleton (UMSet a) a Source |
Operators
Query
Construction
Combine
intersection :: Eq a => UMSet a -> UMSet a -> UMSet a Source
O(n*(m^4)) - Combines all elements of both