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 =
    sig
      type t
      val compare : Map.OrderedType.t -> Map.OrderedType.t -> int
    end
  module type S =
    sig
      type key
      type +'a t
      val empty : 'a Map.S.t
      val is_empty : 'a Map.S.t -> bool
      val mem : Map.S.key -> 'a Map.S.t -> bool
      val add : Map.S.key -> 'a -> 'a Map.S.t -> 'a Map.S.t
      val singleton : Map.S.key -> 'a -> 'a Map.S.t
      val remove : Map.S.key -> 'a Map.S.t -> 'a Map.S.t
      val merge :
        (Map.S.key -> 'a option -> 'b option -> 'c option) ->
        'a Map.S.t -> 'b Map.S.t -> 'c Map.S.t
      val compare : ('a -> 'a -> int) -> 'a Map.S.t -> 'a Map.S.t -> int
      val equal : ('a -> 'a -> bool) -> 'a Map.S.t -> 'a Map.S.t -> bool
      val iter : (Map.S.key -> 'a -> unit) -> 'a Map.S.t -> unit
      val fold : (Map.S.key -> 'a -> 'b -> 'b) -> 'a Map.S.t -> 'b -> 'b
      val for_all : (Map.S.key -> 'a -> bool) -> 'a Map.S.t -> bool
      val exists : (Map.S.key -> 'a -> bool) -> 'a Map.S.t -> bool
      val filter : (Map.S.key -> 'a -> bool) -> 'a Map.S.t -> 'a Map.S.t
      val partition :
        (Map.S.key -> 'a -> bool) -> 'a Map.S.t -> 'a Map.S.t * 'a Map.S.t
      val cardinal : 'a Map.S.t -> int
      val bindings : 'a Map.S.t -> (Map.S.key * 'a) list
      val min_binding : 'a Map.S.t -> Map.S.key * 'a
      val max_binding : 'a Map.S.t -> Map.S.key * 'a
      val choose : 'a Map.S.t -> Map.S.key * 'a
      val split :
        Map.S.key -> 'a Map.S.t -> 'a Map.S.t * 'a option * 'a Map.S.t
      val find : Map.S.key -> 'a Map.S.t -> 'a
      val map : ('a -> 'b) -> 'a Map.S.t -> 'b Map.S.t
      val mapi : (Map.S.key -> 'a -> 'b) -> 'a Map.S.t -> 'b Map.S.t
    end
  module Make :
    functor (Ord : OrderedType) ->
      sig
        type key = Ord.t
        type +'a t
        val empty : 'a t
        val is_empty : 'a t -> bool
        val mem : key -> 'a t -> bool
        val add : key -> 'a -> 'a t -> 'a t
        val singleton : key -> 'a -> 'a t
        val remove : key -> 'a t -> 'a t
        val merge :
          (key -> 'a option -> 'b option -> 'c option) ->
          'a t -> 'b t -> 'c t
        val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
        val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
        val iter : (key -> 'a -> unit) -> 'a t -> unit
        val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
        val for_all : (key -> 'a -> bool) -> 'a t -> bool
        val exists : (key -> 'a -> bool) -> 'a t -> bool
        val filter : (key -> 'a -> bool) -> 'a t -> 'a t
        val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
        val cardinal : 'a t -> int
        val bindings : 'a t -> (key * 'a) list
        val min_binding : 'a t -> key * 'a
        val max_binding : 'a t -> key * 'a
        val choose : 'a t -> key * 'a
        val split : key -> 'a t -> 'a t * 'a option * 'a t
        val find : key -> 'a t -> 'a
        val map : ('a -> 'b) -> 'a t -> 'b t
        val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
      end
end