sets-0.0.3: Various set implementations in Haskell

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

unUUSet :: [a]
 

Operators

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

Query

null :: Eq a => 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(?)