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.

Module type MoreLabels.Map.S

module type S = sig .. end

type key 
type +'a t 
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key:key ->       data:'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge : f:(key -> 'a option -> 'b option -> 'c option) ->       'a t -> 'b t -> 'c t
val compare : cmp:('a -> 'a -> int) ->       'a t -> 'a t -> int
val equal : cmp:('a -> 'a -> bool) ->       'a t -> 'a t -> bool
val iter : f:(key:key -> data:'a -> unit) ->       'a t -> unit
val fold : f:(key:key -> data:'a -> 'b -> 'b) ->       'a t -> init:'b -> 'b
val for_all : f:(key -> 'a -> bool) -> 'a t -> bool
val exists : f:(key -> 'a -> bool) -> 'a t -> bool
val filter : f:(key -> 'a -> bool) ->       'a t -> 'a t
val partition : f:(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 : f:('a -> 'b) -> 'a t -> 'b t
val mapi : f:(key -> 'a -> 'b) ->       'a t -> 'b t