sets-0.0.6.2: Ducktyped set interface for Haskell containers.

Safe HaskellNone
LanguageHaskell2010

Data.Set.Unordered.Unique

Contents

Description

Unique, unordered sets. 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.

Synopsis

Documentation

newtype UUSet a Source #

Pronounced "Unordered Unique Set"

Constructors

UUSet 

Fields

Instances
Functor UUSet Source # 
Instance details

Defined in Data.Set.Unordered.Unique

Methods

fmap :: (a -> b) -> UUSet a -> UUSet b #

(<$) :: a -> UUSet b -> UUSet a #

Mergeable UUSet Source # 
Instance details

Defined in Data.Set.Unordered.Unique

Methods

mergeMap :: CommutativeId m => (a -> m) -> UUSet a -> m #

merge :: (a -> b -> b) -> b -> UUSet a -> b #

Eq a => HasInsert a (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

insert :: a -> UUSet a -> UUSet a Source #

Eq a => HasDelete a (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

delete :: a -> UUSet a -> UUSet a Source #

HasSingleton a (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

singleton :: a -> UUSet a Source #

Eq a => Eq (UUSet a) Source # 
Instance details

Defined in Data.Set.Unordered.Unique

Methods

(==) :: UUSet a -> UUSet a -> Bool #

(/=) :: UUSet a -> UUSet a -> Bool #

Show a => Show (UUSet a) Source # 
Instance details

Defined in Data.Set.Unordered.Unique

Methods

showsPrec :: Int -> UUSet a -> ShowS #

show :: UUSet a -> String #

showList :: [UUSet a] -> ShowS #

(Arbitrary a, Eq a) => Arbitrary (UUSet a) Source # 
Instance details

Defined in Data.Set.Unordered.Unique

Methods

arbitrary :: Gen (UUSet a) #

shrink :: UUSet a -> [UUSet a] #

Eq a => CanBeProperSubset (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

isProperSubsetOf :: UUSet a -> UUSet a -> Bool Source #

Eq a => CanBeSubset (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

isSubsetOf :: UUSet a -> UUSet a -> Bool Source #

HasSize (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

size :: UUSet a -> Int Source #

HasEmpty (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

empty :: UUSet a Source #

Eq a => HasDifference (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

difference :: UUSet a -> UUSet a -> UUSet a Source #

Eq a => HasIntersection (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

intersection :: UUSet a -> UUSet a -> UUSet a Source #

Eq a => HasUnion (UUSet a) Source # 
Instance details

Defined in Data.Set.Class

Methods

union :: UUSet a -> UUSet a -> UUSet a Source #

Operators

(\\) :: Eq a => UUSet a -> UUSet a -> UUSet a Source #

Query

null :: UUSet a -> Bool Source #

O(1)

size :: UUSet a -> Int Source #

O(n)

member :: Eq a => a -> UUSet a -> Bool Source #

O(n)

notMember :: Eq a => a -> UUSet a -> Bool Source #

O(n)

lookup :: Eq a => a -> UUSet a -> Maybe a Source #

O(n)

isSubsetOf :: Eq a => UUSet a -> UUSet a -> Bool Source #

O(n*m)

isProperSubsetOf :: Eq a => UUSet a -> UUSet a -> Bool Source #

O(n*(m^2))

Construction

empty :: UUSet a Source #

O(1)

singleton :: a -> UUSet a Source #

O(1)

insert :: Eq a => a -> UUSet a -> UUSet a Source #

O(n)

delete :: Eq a => a -> UUSet a -> UUSet a Source #

O(n)

Combine

union :: Eq a => UUSet a -> UUSet a -> UUSet a Source #

O(n*m)

difference :: Eq a => UUSet a -> UUSet a -> UUSet a Source #

O(n*m)

intersection :: Eq a => UUSet a -> UUSet a -> UUSet a Source #

O(n*m)

Filter

filter :: (a -> Bool) -> UUSet a -> UUSet a Source #

O(n)

partition :: (a -> Bool) -> UUSet a -> (UUSet a, UUSet a) Source #

O(n) - Guaranteed to be disjoint

Map

map :: (a -> b) -> UUSet a -> UUSet b Source #

O(n)

mapMaybe :: (a -> Maybe b) -> UUSet a -> UUSet b Source #

O(?)

Orphan instances

MonadBase Gen Gen Source # 
Instance details

Methods

liftBase :: Gen α -> Gen α #