An efficient implementation of set based on finite maps.
empty
:: Map a () Returns an empty set. |
singleton
:: a -> Map a () Construct a set with only a single element. |
fromList
:: Ord a => [a] -> Map a () Transforms a list into a set of its elements. |
null
:: Map a () -> Bool Test for an empty set. |
insert
:: Ord a => a -> Map a () -> Map a () Inserts an element into a set if it is not already there. |
delete
:: Ord a => a -> Map a () -> Map a () Deletes an element from a set. |
deleteAll
:: Ord a => [a] -> Map a () -> Map a () Deletes a list of elements from a set. |
size
:: Map a () -> Int Computes the size of two sets. |
member
:: Ord a => a -> Map a () -> Bool Returns True
if an element is contained in a set.
|
difference
:: Ord a => Map a () -> Map a () -> Map a () Computes the difference of two sets. |
toList
:: Map a () -> [a] Transforms a set into an ordered list of its elements. |
union
:: Ord a => Map a () -> Map a () -> Map a () Computes the union of two sets. |
The type of sets of elements.
Type synonym: Set a = Map a ()
Returns an empty set.
|
Construct a set with only a single element.
|
Inserts an element into a set if it is not already there. |
Computes the size of two sets.
|
Returns
|
Computes the difference of two sets. |