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.

Index of types

acc [CamlinternalFormat]
acc_formatting_gen [CamlinternalFormat]
access_permission [Unix]
Flags for the Unix.access call.
addr_info [Unix]
Address information returned by Unix.getaddrinfo.
alarm [Gc]
An alarm is a piece of data that calls a user function at the end of each major GC cycle.
anon_fun [Arg]
attribute [Parsetree]
attributes [Parsetree]
attrs [Ast_helper]

backtrace_slot [Printexc]
The abstract type backtrace_slot represents a single slot of a backtrace.
block_type [CamlinternalFormatBasics]

c_layout [Bigarray]
case [Parsetree]
char_set [CamlinternalFormatBasics]
class_declaration [Parsetree]
class_description [Parsetree]
class_expr [Parsetree]
class_expr_desc [Parsetree]
class_field [Parsetree]
class_field_desc [Parsetree]
class_field_kind [Parsetree]
class_infos [Parsetree]
class_signature [Parsetree]
class_structure [Parsetree]
class_type [Parsetree]
class_type_declaration [Parsetree]
class_type_desc [Parsetree]
class_type_field [Parsetree]
class_type_field_desc [Parsetree]
closed_flag [Asttypes]
closure [CamlinternalOO]
complex32_elt [Bigarray]
complex64_elt [Bigarray]
constant [Asttypes]
constructor_declaration [Parsetree]
control [Gc]
The GC parameters are given as a control record.
core_type [Parsetree]
core_type_desc [Parsetree]
counter [CamlinternalFormatBasics]
custom_arity [CamlinternalFormatBasics]

data [Weak.S]
The type of the elements stored in the table.
dir_handle [Unix]
The type of descriptors over opened directories.
direction_flag [Asttypes]
directive_argument [Parsetree]
doc [Arg]
docs [Docstrings]
docstring [Docstrings]
Documentation comments

elt [Set.S]
The type of the set elements.
elt [MoreLabels.Set.S]
error [Unix]
The type of error codes.
error [Syntaxerr]
error [Location]
error [Lexer]
expression [Parsetree]
expression_desc [Parsetree]
extension [Parsetree]
extension_constructor [Parsetree]
extension_constructor_kind [Parsetree]
extern_flags [Marshal]
The flags to the Marshal.to_* functions below.

file_descr [Unix]
The abstract type of file descriptors.
file_kind [Unix]
file_name [Scanf.Scanning]
A convenient alias to designate a file name.
file_perm [Unix]
The type of file access rights, e.g.
float32_elt [Bigarray]
float64_elt [Bigarray]
float_conv [CamlinternalFormatBasics]
flow_action [Unix]
flush_queue [Unix]
fmt [CamlinternalFormatBasics]
List of format elements.
fmt_ebb [CamlinternalFormat]
fmtty [CamlinternalFormatBasics]
fmtty_rel [CamlinternalFormatBasics]
format [Pervasives]
format4 [Pervasives]
format6 [Pervasives]
format6 [CamlinternalFormatBasics]
formatter [Format]
Abstract data corresponding to a pretty-printer (also called a formatter) and all its machinery.
formatter_out_functions [Format]
formatter_tag_functions [Format]
The tag handling functions specific to a formatter: mark versions are the 'tag marking' functions that associate a string marker to a tag in order for the pretty-printing engine to flush those markers as 0 length tokens in the output device of the formatter.
formatting_gen [CamlinternalFormatBasics]
formatting_lit [CamlinternalFormatBasics]
fortran_layout [Bigarray]
fpclass [Pervasives]
The five classes of floating-point numbers, as determined by the Pervasives.classify_float function.

getaddrinfo_option [Unix]
Options to Unix.getaddrinfo.
getnameinfo_option [Unix]
Options to Unix.getnameinfo.
group_entry [Unix]
Structure of entries in the groups database.

heter_list [CamlinternalFormat]
host_entry [Unix]
Structure of entries in the hosts database.

ignored [CamlinternalFormatBasics]
impl [CamlinternalOO]
in_channel [Scanf.Scanning]
The notion of input channel for the Scanf module: those channels provide all the machinery necessary to read from a given Pervasives.in_channel value.
in_channel [Pervasives]
The type of input channel.
include_declaration [Parsetree]
include_description [Parsetree]
include_infos [Parsetree]
inet_addr [Unix]
The abstract type of Internet addresses.
info [Docstrings]
init_table [CamlinternalOO]
int16_signed_elt [Bigarray]
int16_unsigned_elt [Bigarray]
int32_elt [Bigarray]
int64_elt [Bigarray]
int8_signed_elt [Bigarray]
int8_unsigned_elt [Bigarray]
int_conv [CamlinternalFormatBasics]
int_elt [Bigarray]
interval_timer [Unix]
The three kinds of interval timers.
interval_timer_status [Unix]
The type describing the status of an interval timer

key [MoreLabels.Map.S]
key [MoreLabels.Hashtbl.SeededS]
key [MoreLabels.Hashtbl.S]
key [Map.S]
The type of the map keys.
key [Hashtbl.SeededS]
key [Hashtbl.S]
key [Arg]
kind [Bigarray]

label [Asttypes]
label [CamlinternalOO]
label_declaration [Parsetree]
layout [Bigarray]
lexbuf [Lexing]
The type of lexer buffers.
lid [Ast_helper]
loc [Location]
loc [Asttypes]
loc [Ast_helper]
location [Printexc]
The type of location information found in backtraces.
lock_command [Unix]
Commands for Unix.lockf.

mapper [Ast_mapper]
A mapper record implements one "method" per syntactic category, using an open recursion style: each method takes as its first argument the mapper to be applied to children in the syntax tree.
meth [CamlinternalOO]
module_binding [Parsetree]
module_declaration [Parsetree]
module_expr [Parsetree]
module_expr_desc [Parsetree]
module_type [Parsetree]
module_type_declaration [Parsetree]
module_type_desc [Parsetree]
msg_flag [Unix]
mutable_char_set [CamlinternalFormat]
mutable_flag [Asttypes]

name_info [Unix]
Name of service or port number
nativeint_elt [Bigarray]
num [Num]
The type of numbers.

obj [CamlinternalOO]
open_description [Parsetree]
open_flag [Unix]
The flags to Unix.openfile.
open_flag [Pervasives]
out_channel [Pervasives]
The type of output channel.
override_flag [Asttypes]

package_type [Parsetree]
pad_option [CamlinternalFormatBasics]
padding [CamlinternalFormatBasics]
padty [CamlinternalFormatBasics]
param_format_ebb [CamlinternalFormat]
params [CamlinternalOO]
passwd_entry [Unix]
Structure of entries in the passwd database.
pattern [Parsetree]
pattern_desc [Parsetree]
payload [Parsetree]
position [Lexing]
A value of type position describes a point in a source file.
prec_option [CamlinternalFormatBasics]
precision [CamlinternalFormatBasics]
private_flag [Asttypes]
process_status [Unix]
The termination status of a process.
process_times [Unix]
The execution times (CPU times) of a process.
protocol_entry [Unix]
Structure of entries in the protocols database.

raw_backtrace [Printexc]
The abstract type raw_backtrace stores a backtrace in a low-level format, instead of directly exposing them as string as the get_backtrace() function does.
raw_backtrace_slot [Printexc]
This type allows direct access to raw backtrace slots, without any conversion in an OCaml-usable data-structure.
rec_flag [Asttypes]
ref [Pervasives]
The type of references (mutable indirection cells) containing a value of type 'a.
regexp [Str]
The type of compiled regular expressions.
row_field [Parsetree]

scanbuf [Scanf.Scanning]
The type of scanning buffers.
scanner [Scanf]
The type of formatted input scanners: ('a, 'b, 'c, 'd) scanner is the type of a formatted input function that reads from some formatted input channel according to some format string; more precisely, if scan is some formatted input function, then scan ic fmt f applies f to the arguments specified by the format string fmt, when scan has read those arguments from the formatted input channel ic.
seek_command [Unix]
Positioning modes for Unix.lseek.
service_entry [Unix]
Structure of entries in the services database.
setattr_when [Unix]
shape [CamlinternalMod]
shutdown_command [Unix]
The type of commands for shutdown.
signal_behavior [Sys]
What to do when receiving a signal: Signal_default: take the default behavior (usually: abort the program), Signal_ignore: ignore the signal, Signal_handle f: call function f, giving it the signal number as argument.
signature [Parsetree]
signature_item [Parsetree]
signature_item_desc [Parsetree]
sigprocmask_command [Unix]
sockaddr [Unix]
socket_bool_option [Unix]
The socket options that can be consulted with Unix.getsockopt and modified with Unix.setsockopt.
socket_domain [Unix]
The type of socket domains.
socket_float_option [Unix]
The socket options that can be consulted with Unix.getsockopt_float and modified with Unix.setsockopt_float.
socket_int_option [Unix]
The socket options that can be consulted with Unix.getsockopt_int and modified with Unix.setsockopt_int.
socket_optint_option [Unix]
The socket options that can be consulted with Unix.getsockopt_optint and modified with Unix.setsockopt_optint.
socket_type [Unix]
The type of socket kinds, specifying the semantics of communications.
space_formatter [Pprintast]
spec [Arg]
The concrete type describing the behavior associated with a keyword.
split_result [Str]
stat [Gc]
The memory management counters are returned in a stat record.
statistics [MoreLabels.Hashtbl]
statistics [Hashtbl]
stats [Unix.LargeFile]
stats [Unix]
The information returned by the Unix.stat calls.
stats [CamlinternalOO]
str [Ast_helper]
structure [Parsetree]
structure_item [Parsetree]
structure_item_desc [Parsetree]

t [Bigarray.Array3]
The type of three-dimensional big arrays whose elements have OCaml type 'a, representation kind 'b, and memory layout 'c.
t [Bigarray.Array2]
The type of two-dimensional big arrays whose elements have OCaml type 'a, representation kind 'b, and memory layout 'c.
t [Bigarray.Array1]
The type of one-dimensional big arrays whose elements have OCaml type 'a, representation kind 'b, and memory layout 'c.
t [Bigarray.Genarray]
The type Genarray.t is the type of big arrays with variable numbers of dimensions.
t [Longident]
t [Location]
t [Weak.S]
The type of tables that contain elements of type data.
t [Weak]
The type of arrays of weak pointers (weak arrays).
t [String]
An alias for the type of strings.
t [Stream]
The type of streams holding values of type 'a.
t [StringLabels]
An alias for the type of strings.
t [Stack]
The type of stacks containing elements of type 'a.
t [Set.S]
The type of sets.
t [Random.State]
The type of PRNG states.
t [Queue]
The type of queues containing elements of type 'a.
t [Printexc.Slot]
t [Obj]
t [Nativeint]
An alias for the type of native integers.
t [Set.OrderedType]
The type of the set elements.
t [MoreLabels.Set.S]
t [MoreLabels.Map.S]
t [MoreLabels.Hashtbl.SeededS]
t [MoreLabels.Hashtbl.S]
t [MoreLabels.Hashtbl]
t [Map.OrderedType]
The type of the map keys.
t [Map.S]
The type of maps from type key to type 'a.
t [Lazy]
A value of type 'a Lazy.t is a deferred computation, called a suspension, that has a result of type 'a.
t [Int64]
An alias for the type of 64-bit integers.
t [Int32]
An alias for the type of 32-bit integers.
t [Hashtbl.SeededHashedType]
The type of the hashtable keys.
t [Hashtbl.HashedType]
The type of the hashtable keys.
t [Hashtbl.SeededS]
t [Hashtbl.S]
t [Hashtbl]
The type of hash tables from type 'a to type 'b.
t [Digest]
The type of digests: 16-character strings.
t [Complex]
The type of complex numbers.
t [Char]
An alias for the type of characters.
t [CamlinternalOO]
t [BytesLabels]
An alias for the type of byte sequences.
t [Bytes]
An alias for the type of byte sequences.
t [Buffer]
The abstract type of buffers.
table [CamlinternalOO]
tables [CamlinternalOO]
tag [Format]
tag [CamlinternalOO]
terminal_io [Unix]
text [Docstrings]
tm [Unix]
The type representing wallclock time and calendar date.
token [Parser]
token [Genlex]
The type of tokens.
toplevel_phrase [Parsetree]
type_declaration [Parsetree]
type_extension [Parsetree]
type_kind [Parsetree]

usage_msg [Arg]

value_binding [Parsetree]
value_description [Parsetree]
variance [Asttypes]
virtual_flag [Asttypes]

wait_flag [Unix]
Flags for Unix.waitpid.
with_constraint [Parsetree]