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 to_string : exn -> string
  val print : ('a -> 'b) -> 'a -> 'b
  val catch : ('a -> 'b) -> 'a -> 'b
  val print_backtrace : Pervasives.out_channel -> unit
  val get_backtrace : unit -> string
  val record_backtrace : bool -> unit
  val backtrace_status : unit -> bool
  val register_printer : (exn -> string option) -> unit
  type raw_backtrace
  val get_raw_backtrace : unit -> Printexc.raw_backtrace
  val print_raw_backtrace :
    Pervasives.out_channel -> Printexc.raw_backtrace -> unit
  val raw_backtrace_to_string : Printexc.raw_backtrace -> string
  val get_callstack : int -> Printexc.raw_backtrace
  val set_uncaught_exception_handler :
    (exn -> Printexc.raw_backtrace -> unit) -> unit
  type backtrace_slot
  val backtrace_slots :
    Printexc.raw_backtrace -> Printexc.backtrace_slot array option
  type location = {
    filename : string;
    line_number : int;
    start_char : int;
    end_char : int;
  }
  module Slot :
    sig
      type t = Printexc.backtrace_slot
      val is_raise : Printexc.Slot.t -> bool
      val location : Printexc.Slot.t -> Printexc.location option
      val format : int -> Printexc.Slot.t -> string option
    end
  type raw_backtrace_slot
  val raw_backtrace_length : Printexc.raw_backtrace -> int
  val get_raw_backtrace_slot :
    Printexc.raw_backtrace -> int -> Printexc.raw_backtrace_slot
  val convert_raw_backtrace_slot :
    Printexc.raw_backtrace_slot -> Printexc.backtrace_slot
  val exn_slot_id : exn -> int
  val exn_slot_name : exn -> string
end