Cross-platform system configuration values.
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"
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 ‑> stringReturn 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 ‑> stringReturn 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 ‑> unitControl 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