Below is the API for the OCaml standard library. It's directly copied over from the OCaml Manual, formatted to the Reason syntax and styled accordingly. The API docs are work-in-progress; we'll be polishing these gradually!
If you're targeting JavaScript, the API docs for BuckleScript includes all of below, plus JS-specific APIs.
module Make: functor (Ord : OrderedType) -> S with type elt = Ord.t| Parameters: |
|
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
mem x s tests whether x belongs to the set s.val add : elt -> t -> t
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 : elt -> t
singleton x returns the one-element set containing only x.val remove : elt -> t -> t
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 : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
equal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.val subset : t -> t -> bool
subset s1 s2 tests whether the set s1 is a subset of
the set s2.val iter : (elt -> unit) -> t -> unit
iter f s applies f in turn to all elements of s.
The elements of s are presented to f in increasing order
with respect to the ordering over the type of the elements.val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
fold f s a computes (f xN ... (f x2 (f x1 a))...),
where x1 ... xN are the elements of s, in increasing order.val for_all : (elt -> bool) -> t -> bool
for_all p s checks if all elements of the set
satisfy the predicate p.val exists : (elt -> bool) -> t -> bool
exists p s checks if at least one element of
the set satisfies the predicate p.val filter : (elt -> bool) -> t -> t
filter p s returns the set of all elements in s
that satisfy predicate p.val partition : (elt -> bool) -> t -> t * t
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 : t -> int
val elements : t -> elt list
Ord.compare, where Ord is the argument
given to Set.Make.val min_elt : t -> elt
Ord.compare ordering), or raise
Not_found if the set is empty.val max_elt : t -> elt
Set.S.min_elt, but returns the largest element of the
given set.val choose : t -> elt
Not_found if
the set is empty. Which element is chosen is unspecified,
but equal elements will be chosen for equal sets.val split : elt -> t -> t * bool * t
split x s returns a triple (l, present, r), where
l is the set of elements of s that are
strictly less than x;
r is the set of elements of s that are
strictly greater than x;
present is false if s contains no element equal to x,
or true if s contains an element equal to x.val find : elt -> t -> elt
find x s returns the element of s equal to x (according
to Ord.compare), or raise Not_found if no such element
exists.val of_list : elt list -> t
of_list l creates a set from a list of elements.
This is usually more efficient than folding add over the list,
except perhaps for lists with many duplicated elements.