Quick StartTryGuideAPICommunityBlogGitHub

Standard Library

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.

sig

  module type OrderedType = Set.OrderedType
  module type S =
    sig
      type elt
      and t
      val empty : MoreLabels.Set.S.t
      val is_empty : MoreLabels.Set.S.t -> bool
      val mem : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> bool
      val add :
        MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val singleton : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t
      val remove :
        MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val union :
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val inter :
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val diff :
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val compare : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> int
      val equal : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
      val subset : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
      val iter :
        f:(MoreLabels.Set.S.elt -> unit) -> MoreLabels.Set.S.t -> unit
      val fold :
        f:(MoreLabels.Set.S.elt -> 'a -> 'a) ->
        MoreLabels.Set.S.t -> init:'a -> 'a
      val for_all :
        f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
      val exists :
        f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
      val filter :
        f:(MoreLabels.Set.S.elt -> bool) ->
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t
      val partition :
        f:(MoreLabels.Set.S.elt -> bool) ->
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t * MoreLabels.Set.S.t
      val cardinal : MoreLabels.Set.S.t -> int
      val elements : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt list
      val min_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
      val max_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
      val choose : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
      val split :
        MoreLabels.Set.S.elt ->
        MoreLabels.Set.S.t -> MoreLabels.Set.S.t * bool * MoreLabels.Set.S.t
      val find :
        MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
      val of_list : MoreLabels.Set.S.elt list -> MoreLabels.Set.S.t
    end
  module Make :
    functor (Ord : OrderedType) ->
      sig
        type elt = Ord.t
        and t
        val empty : t
        val is_empty : t -> bool
        val mem : elt -> t -> bool
        val add : elt -> t -> t
        val singleton : elt -> t
        val remove : elt -> t -> t
        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
        val subset : t -> t -> bool
        val iter : f:(elt -> unit) -> t -> unit
        val fold : f:(elt -> 'a -> 'a) -> t -> init:'a -> 'a
        val for_all : f:(elt -> bool) -> t -> bool
        val exists : f:(elt -> bool) -> t -> bool
        val filter : f:(elt -> bool) -> t -> t
        val partition : f:(elt -> bool) -> t -> t * t
        val cardinal : t -> int
        val elements : t -> elt list
        val min_elt : t -> elt
        val max_elt : t -> elt
        val choose : t -> elt
        val split : elt -> t -> t * bool * t
        val find : elt -> t -> elt
        val of_list : elt list -> t
      end
end