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

  val open_box : int -> unit
  val close_box : unit -> unit
  val print_string : string -> unit
  val print_as : int -> string -> unit
  val print_int : int -> unit
  val print_float : float -> unit
  val print_char : char -> unit
  val print_bool : bool -> unit
  val print_space : unit -> unit
  val print_cut : unit -> unit
  val print_break : int -> int -> unit
  val print_flush : unit -> unit
  val print_newline : unit -> unit
  val force_newline : unit -> unit
  val print_if_newline : unit -> unit
  val set_margin : int -> unit
  val get_margin : unit -> int
  val set_max_indent : int -> unit
  val get_max_indent : unit -> int
  val set_max_boxes : int -> unit
  val get_max_boxes : unit -> int
  val over_max_boxes : unit -> bool
  val open_hbox : unit -> unit
  val open_vbox : int -> unit
  val open_hvbox : int -> unit
  val open_hovbox : int -> unit
  val open_tbox : unit -> unit
  val close_tbox : unit -> unit
  val print_tbreak : int -> int -> unit
  val set_tab : unit -> unit
  val print_tab : unit -> unit
  val set_ellipsis_text : string -> unit
  val get_ellipsis_text : unit -> string
  type tag = string
  val open_tag : Format.tag -> unit
  val close_tag : unit -> unit
  val set_tags : bool -> unit
  val set_print_tags : bool -> unit
  val set_mark_tags : bool -> unit
  val get_print_tags : unit -> bool
  val get_mark_tags : unit -> bool
  val set_formatter_out_channel : Pervasives.out_channel -> unit
  val set_formatter_output_functions :
    (string -> int -> int -> unit) -> (unit -> unit) -> unit
  val get_formatter_output_functions :
    unit -> (string -> int -> int -> unit) * (unit -> unit)
  type formatter_out_functions = {
    out_string : string -> int -> int -> unit;
    out_flush : unit -> unit;
    out_newline : unit -> unit;
    out_spaces : int -> unit;
  }
  val set_formatter_out_functions : Format.formatter_out_functions -> unit
  val get_formatter_out_functions : unit -> Format.formatter_out_functions
  type formatter_tag_functions = {
    mark_open_tag : Format.tag -> string;
    mark_close_tag : Format.tag -> string;
    print_open_tag : Format.tag -> unit;
    print_close_tag : Format.tag -> unit;
  }
  val set_formatter_tag_functions : Format.formatter_tag_functions -> unit
  val get_formatter_tag_functions : unit -> Format.formatter_tag_functions
  type formatter
  val formatter_of_out_channel : Pervasives.out_channel -> Format.formatter
  val std_formatter : Format.formatter
  val err_formatter : Format.formatter
  val formatter_of_buffer : Buffer.t -> Format.formatter
  val stdbuf : Buffer.t
  val str_formatter : Format.formatter
  val flush_str_formatter : unit -> string
  val make_formatter :
    (string -> int -> int -> unit) -> (unit -> unit) -> Format.formatter
  val pp_open_hbox : Format.formatter -> unit -> unit
  val pp_open_vbox : Format.formatter -> int -> unit
  val pp_open_hvbox : Format.formatter -> int -> unit
  val pp_open_hovbox : Format.formatter -> int -> unit
  val pp_open_box : Format.formatter -> int -> unit
  val pp_close_box : Format.formatter -> unit -> unit
  val pp_open_tag : Format.formatter -> string -> unit
  val pp_close_tag : Format.formatter -> unit -> unit
  val pp_print_string : Format.formatter -> string -> unit
  val pp_print_as : Format.formatter -> int -> string -> unit
  val pp_print_int : Format.formatter -> int -> unit
  val pp_print_float : Format.formatter -> float -> unit
  val pp_print_char : Format.formatter -> char -> unit
  val pp_print_bool : Format.formatter -> bool -> unit
  val pp_print_break : Format.formatter -> int -> int -> unit
  val pp_print_cut : Format.formatter -> unit -> unit
  val pp_print_space : Format.formatter -> unit -> unit
  val pp_force_newline : Format.formatter -> unit -> unit
  val pp_print_flush : Format.formatter -> unit -> unit
  val pp_print_newline : Format.formatter -> unit -> unit
  val pp_print_if_newline : Format.formatter -> unit -> unit
  val pp_open_tbox : Format.formatter -> unit -> unit
  val pp_close_tbox : Format.formatter -> unit -> unit
  val pp_print_tbreak : Format.formatter -> int -> int -> unit
  val pp_set_tab : Format.formatter -> unit -> unit
  val pp_print_tab : Format.formatter -> unit -> unit
  val pp_set_tags : Format.formatter -> bool -> unit
  val pp_set_print_tags : Format.formatter -> bool -> unit
  val pp_set_mark_tags : Format.formatter -> bool -> unit
  val pp_get_print_tags : Format.formatter -> unit -> bool
  val pp_get_mark_tags : Format.formatter -> unit -> bool
  val pp_set_margin : Format.formatter -> int -> unit
  val pp_get_margin : Format.formatter -> unit -> int
  val pp_set_max_indent : Format.formatter -> int -> unit
  val pp_get_max_indent : Format.formatter -> unit -> int
  val pp_set_max_boxes : Format.formatter -> int -> unit
  val pp_get_max_boxes : Format.formatter -> unit -> int
  val pp_over_max_boxes : Format.formatter -> unit -> bool
  val pp_set_ellipsis_text : Format.formatter -> string -> unit
  val pp_get_ellipsis_text : Format.formatter -> unit -> string
  val pp_set_formatter_out_channel :
    Format.formatter -> Pervasives.out_channel -> unit
  val pp_set_formatter_output_functions :
    Format.formatter ->
    (string -> int -> int -> unit) -> (unit -> unit) -> unit
  val pp_get_formatter_output_functions :
    Format.formatter ->
    unit -> (string -> int -> int -> unit) * (unit -> unit)
  val pp_set_formatter_tag_functions :
    Format.formatter -> Format.formatter_tag_functions -> unit
  val pp_get_formatter_tag_functions :
    Format.formatter -> unit -> Format.formatter_tag_functions
  val pp_set_formatter_out_functions :
    Format.formatter -> Format.formatter_out_functions -> unit
  val pp_get_formatter_out_functions :
    Format.formatter -> unit -> Format.formatter_out_functions
  val pp_print_list :
    ?pp_sep:(Format.formatter -> unit -> unit) ->
    (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
  val pp_print_text : Format.formatter -> string -> unit
  val fprintf :
    Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val printf : ('a, Format.formatter, unit) Pervasives.format -> 'a
  val eprintf : ('a, Format.formatter, unit) Pervasives.format -> 'a
  val sprintf : ('a, unit, string) Pervasives.format -> 'a
  val asprintf :
    ('a, Format.formatter, unit, string) Pervasives.format4 -> 'a
  val ifprintf :
    Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val kfprintf :
    (Format.formatter -> 'a) ->
    Format.formatter ->
    ('b, Format.formatter, unit, 'a) Pervasives.format4 -> 'b
  val ikfprintf :
    (Format.formatter -> 'a) ->
    Format.formatter ->
    ('b, Format.formatter, unit, 'a) Pervasives.format4 -> 'b
  val ksprintf :
    (string -> 'a) -> ('b, unit, string, 'a) Pervasives.format4 -> 'b
  val bprintf :
    Buffer.t -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val kprintf :
    (string -> 'a) -> ('b, unit, string, 'a) Pervasives.format4 -> 'b
  val set_all_formatter_output_functions :
    out:(string -> int -> int -> unit) ->
    flush:(unit -> unit) ->
    newline:(unit -> unit) -> spaces:(int -> unit) -> unit
  val get_all_formatter_output_functions :
    unit ->
    (string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) *
    (int -> unit)
  val pp_set_all_formatter_output_functions :
    Format.formatter ->
    out:(string -> int -> int -> unit) ->
    flush:(unit -> unit) ->
    newline:(unit -> unit) -> spaces:(int -> unit) -> unit
  val pp_get_all_formatter_output_functions :
    Format.formatter ->
    unit ->
    (string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) *
    (int -> unit)
end