Cross-platform system configuration values.
val argv : string arrayThe command line arguments given to the process. The first element is the command name used to invoke the program. The following elements are the command-line arguments given to the program.
val interactive : bool Pervasives.refinteractive is set to true when being executed in the ocaml REPL, and false
otherwise.
val os_type : stringos_type describes the operating system that the OCaml program is running on. Its
value is one of "Unix", "Win32", or "Cygwin".
Currently, the official distribution only supports Native and Bytecode,
but it can be other backends with alternative compilers, for example,
JavaScript.
val word_size_in_bits : intword_size_in_bits is the number of bits in one word on the machine currently
executing the OCaml program. Generally speaking it will be either 32 or 64.
val int_size_in_bits : intint_size_in_bits is the number of bits in the int type. Generally, on 32-bit
platforms, its value will be 31, and on 64 bit platforms its value will be 63.
When running in JavaScript, it will be 32.
val runtime_variant : unit ‑> stringReturns the name of the runtime variant the program is running on. This is normally
the argument given to -runtime-variant at compile time, but for byte-code it can be
changed after compilation.
val runtime_parameters : unit ‑> stringReturns the value of the runtime parameters, in the same format as the contents of the
OCAMLRUNPARAM environment variable.
val ocaml_version : stringocaml_version is the OCaml version with which the program was compiled. It is a
string of the form "major.minor[.patchlevel][+additional-info]", where major, minor,
and patchlevel are integers, and additional-info is an arbitrary string. The
[.patchlevel] and [+additional-info] parts may be absent.
val enable_runtime_warnings : bool ‑> unitControls whether the OCaml runtime system can emit warnings on stderr. Currently, the
only supported warning is triggered when a channel created by open_* functions is
finalized without being closed. Runtime warnings are enabled by default.
val opaque_identity : 'a ‑> 'aFor the purposes of optimization, opaque_identity behaves like an unknown (and thus
possibly side-effecting) function. At runtime, opaque_identity disappears
altogether. A typical use of this function is to prevent pure computations from being
optimized away in benchmarking loops. For example:
for _round = 1 to 100_000 do
ignore (Sys.opaque_identity (my_pure_computation ()))
done