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

  type ('a, 'b, 'c) t
  val create :
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t
  external dim1 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_1"
  external dim2 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_2"
  external dim3 : ('a, 'b, 'c) Bigarray.Array3.t -> int = "%caml_ba_dim_3"
  external kind : ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b) Bigarray.kind
    = "caml_ba_kind"
  external layout : ('a, 'b, 'c) Bigarray.Array3.t -> 'c Bigarray.layout
    = "caml_ba_layout"
  external get : ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a
    = "%caml_ba_ref_3"
  external set :
    ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a -> unit
    = "%caml_ba_set_3"
  external sub_left :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t
    = "caml_ba_sub"
  external sub_right :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t
    = "caml_ba_sub"
  val slice_left_1 :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
  val slice_right_1 :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array1.t
  val slice_left_2 :
    ('a, 'b, Bigarray.c_layout) Bigarray.Array3.t ->
    int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t
  val slice_right_2 :
    ('a, 'b, Bigarray.fortran_layout) Bigarray.Array3.t ->
    int -> ('a, 'b, Bigarray.fortran_layout) Bigarray.Array2.t
  external blit :
    ('a, 'b, 'c) Bigarray.Array3.t -> ('a, 'b, 'c) Bigarray.Array3.t -> unit
    = "caml_ba_blit"
  external fill : ('a, 'b, 'c) Bigarray.Array3.t -> 'a -> unit
    = "caml_ba_fill"
  val of_array :
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout ->
    'a array array array -> ('a, 'b, 'c) Bigarray.Array3.t
  val map_file :
    Unix.file_descr ->
    ?pos:int64 ->
    ('a, 'b) Bigarray.kind ->
    'c Bigarray.layout ->
    bool -> int -> int -> int -> ('a, 'b, 'c) Bigarray.Array3.t
  external unsafe_get :
    ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a
    = "%caml_ba_unsafe_ref_3"
  external unsafe_set :
    ('a, 'b, 'c) Bigarray.Array3.t -> int -> int -> int -> 'a -> unit
    = "%caml_ba_unsafe_set_3"
end