Set(3)
π Set(3) π
hey bestie!! welcome to the OCaml library manual page for Set β yes, the set data structure one. Itβs giving βordered types only, but make it iconic.β π
β¨ NAME β¨
Set β Sets over ordered types.
π Module π
Module Set
π Documentation π
Module Set : sig end
okay so first thing: Sets over ordered types. π¦
This module implements the set data structure, given a total ordering function over the set elements. All operations over sets are purely applicative (no side-effects). The implementation uses balanced binary trees, and is therefore reasonably efficient: insertion and membership take time logarithmic in the size of the set, for instance. slay for balanced trees, honestly. π³β¨
The Set.Make functor constructs implementations for any type, given a compare function. For instance:
module IntPairs =
struct
type t = int * int
let compare (x0,y0) (x1,y1) =
match Stdlib.compare x0 x1 with
0 -> Stdlib.compare y0 y1
| c -> c
end
module PairsSet = Set.Make(IntPairs)
let m = PairsSet.(empty |> add (2,3) |> add (5,7) |> add (11,13))
This creates a new module PairsSet, with a new type PairsSet.t of sets of int * int. periodt. π
module type OrderedType = sig end
Input signature of the functor Set.Make. π
module type S = sig end
Output signature of the functor Set.Make. π¦
module Make : (Ord : OrderedType) -> sig end
Functor building an implementation of the set structure given a totally ordered type. iykyk β ordered type in, set module out. π
thatβs the whole page, bestie! the footer says OCamldoc, 2026-06-22, Set(3) β bye! πβ¨
π¦ where this page comes from
- arch rolling: ocaml 5.5.0-1 Β· LGPL2.1 AND custom: QPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms