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 CamlinternalFormat

module CamlinternalFormat: sig .. end

let is_in_char_set: (CamlinternalFormatBasics.char_set, char) => bool;
let rev_char_set: CamlinternalFormatBasics.char_set => CamlinternalFormatBasics.char_set;
type mutable_char_set = bytes;
let create_char_set: unit => mutable_char_set;
let add_in_char_set: (mutable_char_set, char) => unit;
let freeze_char_set: mutable_char_set => CamlinternalFormatBasics.char_set;
type ('a, 'b, 'c, 'd, 'e, 'f) param_format_ebb = 
| Param_format_EBB : ('x -> 'a0, 'b0, 'c0, 'd0, 'e0, 'f0) CamlinternalFormatBasics.fmt -> ('a0, 'b0, 'c0, 'd0, 'e0, 'f0) param_format_ebb
let param_format_of_ignored_format:
    CamlinternalFormatBasics.ignored('a, 'b, 'c, 'd, 'y, 'x),
    CamlinternalFormatBasics.fmt('x, 'b, 'c, 'y, 'e, 'f)
  ) =>
  param_format_ebb('a, 'b, 'c, 'd, 'e, 'f);
type ('b, 'c) acc_formatting_gen = 
| Acc_open_tag of ('b, 'c) acc
| Acc_open_box of ('b, 'c) acc
type ('b, 'c) acc = 
| Acc_formatting_lit of ('b, 'c) acc * CamlinternalFormatBasics.formatting_lit
| Acc_formatting_gen of ('b, 'c) acc * ('b, 'c) acc_formatting_gen
| Acc_string_literal of ('b, 'c) acc * string
| Acc_char_literal of ('b, 'c) acc * char
| Acc_data_string of ('b, 'c) acc * string
| Acc_data_char of ('b, 'c) acc * char
| Acc_delay of ('b, 'c) acc * ('b -> 'c)
| Acc_flush of ('b, 'c) acc
| Acc_invalid_arg of ('b, 'c) acc * string
| End_of_acc
type ('a, 'b) heter_list = 
| Cons : 'c * ('a0, 'b0) heter_list -> ('c -> 'a0, 'b0) heter_list
| Nil : ('b1, 'b1) heter_list
type ('b, 'c, 'e, 'f) fmt_ebb = 
| Fmt_EBB : ('a, 'b0, 'c0, 'd, 'e0, 'f0) CamlinternalFormatBasics.fmt -> ('b0, 'c0, 'e0, 'f0) fmt_ebb
let make_printf:
    ('b, acc('b, 'c)) => 'd,
    acc('b, 'c),
    CamlinternalFormatBasics.fmt('a, 'b, 'c, 'c, 'c, 'd)
  ) =>
let output_acc: (Pervasives.out_channel, acc(Pervasives.out_channel, unit)) => unit;
let bufput_acc: (Buffer.t, acc(Buffer.t, unit)) => unit;
let strput_acc: (Buffer.t, acc(unit, string)) => unit;
let type_format:
    CamlinternalFormatBasics.fmt('x, 'b, 'c, 't, 'u, 'v),
    CamlinternalFormatBasics.fmtty('a, 'b, 'c, 'd, 'e, 'f)
  ) =>
  CamlinternalFormatBasics.fmt('a, 'b, 'c, 'd, 'e, 'f);
let fmt_ebb_of_string: (~legacy_behavior: bool=?, string) => fmt_ebb('b, 'c, 'e, 'f);
let format_of_string_fmtty:
  (string, CamlinternalFormatBasics.fmtty('a, 'b, 'c, 'd, 'e, 'f)) =>
  CamlinternalFormatBasics.format6('a, 'b, 'c, 'd, 'e, 'f);
let format_of_string_format:
  (string, CamlinternalFormatBasics.format6('a, 'b, 'c, 'd, 'e, 'f)) =>
  CamlinternalFormatBasics.format6('a, 'b, 'c, 'd, 'e, 'f);
let char_of_iconv: CamlinternalFormatBasics.int_conv => char;
let string_of_formatting_lit: CamlinternalFormatBasics.formatting_lit => string;
let string_of_formatting_gen:
  CamlinternalFormatBasics.formatting_gen('a, 'b, 'c, 'd, 'e, 'f) => string;
let string_of_fmtty: CamlinternalFormatBasics.fmtty('a, 'b, 'c, 'd, 'e, 'f) => string;
let string_of_fmt: CamlinternalFormatBasics.fmt('a, 'b, 'c, 'd, 'e, 'f) => string;
let open_box_of_string: string => (int, CamlinternalFormatBasics.block_type);
let symm:
  CamlinternalFormatBasics.fmtty_rel('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2) =>
  CamlinternalFormatBasics.fmtty_rel('a2, 'b2, 'c2, 'd2, 'e2, 'f2, 'a1, 'b1, 'c1, 'd1, 'e1, 'f1);
let trans:
    CamlinternalFormatBasics.fmtty_rel('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2),
    CamlinternalFormatBasics.fmtty_rel('a2, 'b2, 'c2, 'd2, 'e2, 'f2, 'a3, 'b3, 'c3, 'd3, 'e3, 'f3)
  ) =>
  CamlinternalFormatBasics.fmtty_rel('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a3, 'b3, 'c3, 'd3, 'e3, 'f3);
let recast:
    CamlinternalFormatBasics.fmt('a1, 'b1, 'c1, 'd1, 'e1, 'f1),
    CamlinternalFormatBasics.fmtty_rel('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
  ) =>
  CamlinternalFormatBasics.fmt('a2, 'b2, 'c2, 'd2, 'e2, 'f2);