Zafu/Collection/HashSetsource code:
public dependencies: Zafu/Abstract/Eq, Zafu/Abstract/Hash
HashSetalter, contains, difference, difference_assume_same_hash,
empty, eq, filter, from_List, hash, intersection, is_empty, partition, remove, set_hash_item, singleton, size, union, union_assume_same_hash,
updatedHashSet[k]type HashSet[k: *]
alterUnified insert/remove operation.
def alter[a](set: HashSet[a], item: a, fn: Bool -> Bool) -> HashSet[a]
containsTrue when item is present.
def contains[a](set: HashSet[a], item: a) -> Bool
differenceRemoves items from left that appear in right (always using left semantics).
references: HashSet
def difference[a](left: HashSet[a], right: HashSet[a]) -> HashSet[a]
difference_assume_same_hashFast path difference when caller knows both sets share hash semantics.
references: HashSet
def difference_assume_same_hash[a](left: HashSet[a], right: HashSet[a]) -> HashSet[a]
emptyEmpty set for a chosen item hash/equality dictionary.
references: HashSet, Zafu/Abstract/Hash::Hash
def empty[a](hash_item: Zafu/Abstract/Hash::Hash[a]) -> HashSet[a]
eqEquality adapter for sets.
references: HashSet, Zafu/Abstract/Eq::Eq
eq: forall a: *. Zafu/Abstract/Eq::Eq[HashSet[a]]
filterKeep only entries satisfying pred.
def filter[a](set: HashSet[a], pred: a -> Bool) -> HashSet[a]
from_ListBuilds a set from items, dropping duplicates.
references: HashSet, List, Zafu/Abstract/Hash::Hash
def from_List[a](hash_item: Zafu/Abstract/Hash::Hash[a], items: List[a]) -> HashSet[a]
hashHash adapter for sets.
references: HashSet, Zafu/Abstract/Hash::Hash
hash: forall a: *. Zafu/Abstract/Hash::Hash[HashSet[a]]
intersectionKeeps items present in both sets.
references: HashSet
def intersection[a](left: HashSet[a], right: HashSet[a]) -> HashSet[a]
is_emptyTrue if set has no entries.
def is_empty[a](set: HashSet[a]) -> Bool
partitionSplits set by predicate.
references: Bool, HashSet, Tuple2
def partition[a](set: HashSet[a], pred: a -> Bool) -> (HashSet[a], HashSet[a])
removeRemoves one item when present.
references: HashSet
def remove[a](set: HashSet[a], item: a) -> HashSet[a]
set_hash_itemreferences: HashSet, Zafu/Abstract/Hash::Hash
def set_hash_item[a](set: HashSet[a]) -> Zafu/Abstract/Hash::Hash[a]
singletonSingle-item set.
references: HashSet, Zafu/Abstract/Hash::Hash
def singleton[a](hash_item: Zafu/Abstract/Hash::Hash[a], item: a) -> HashSet[a]
sizeO(1) cached size.
def size[a](set: HashSet[a]) -> Int
unionSafe union that always uses left-set item semantics.
references: HashSet
def union[a](left: HashSet[a], right: HashSet[a]) -> HashSet[a]
union_assume_same_hashFast path union when caller knows both sets share hash semantics.
references: HashSet
def union_assume_same_hash[a](left: HashSet[a], right: HashSet[a]) -> HashSet[a]
updatedInserts one item.
references: HashSet
def updated[a](set: HashSet[a], item: a) -> HashSet[a]