
Functor Set.Makemodule Make:
Functor building an implementation of the set structure
given a totally ordered type.
type elt
The type of the set elements.
type t
The type of sets.
val empty :
The empty set.
val is_empty :
Test whether a set is empty or not.
val mem : mem x s tests whether x belongs to the set s .val add : add x s returns a set containing all elements of s ,
plus x . If x was already in s , s is returned unchanged.val singleton : singleton x returns the oneelement set containing only x .val remove : remove x s returns a set containing all elements of s ,
except x . If x was not in s , s is returned unchanged.val union :
Set union.
val inter :
Set intersection.
val diff :
Set difference.
val compare :
Total ordering between sets. Can be used as the ordering function
for doing sets of sets.
val equal : equal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.val subset : subset s1 s2 tests whether the set s1 is a subset of
the set s2 .val iter : iter f s applies f in turn to all elements of s .
The order in which the elements of s are presented to f
is unspecified.val fold : fold f s a computes (f xN ... (f x2 (f x1 a))...) ,
where x1 ... xN are the elements of s .
The order in which elements of s are presented to f is
unspecified.val for_all : for_all p s checks if all elements of the set
satisfy the predicate p .val exists : exists p s checks if at least one element of
the set satisfies the predicate p .val filter : filter p s returns the set of all elements in s
that satisfy predicate p .val partition : partition p s returns a pair of sets (s1, s2) , where
s1 is the set of all the elements of s that satisfy the
predicate p , and s2 is the set of all the elements of
s that do not satisfy p .val cardinal :
Return the number of elements of a set.
val elements :
Return the list of all elements of the given set.
The returned list is sorted in increasing order with respect
to the ordering
Ord.compare , where Ord is the argument
given to Set.Make .val min_elt :
Return the smallest element of the given set
(with respect to the
Ord.compare ordering), or raise
Not_found if the set is empty.val max_elt :
Same as
Set.S.min_elt , but returns the largest element of the
given set.val choose :
Return one element of the given set, or raise
Not_found if
the set is empty. Which element is chosen is unspecified,
but equal elements will be chosen for equal sets. 