package base
-
base
-
-
caml
-
md5_lib
-
shadow_stdlib
Library
Module
Module type
Parameter
Class
Class type
Cross-platform system configuration values.
The 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 ref
interactive
is set to true
when being executed in the ocaml
REPL, and false
otherwise.
os_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 backend_type : backend_type
Backend type currently executing the OCaml program.
word_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
.
int_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
.
Returns 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.
Returns the value of the runtime parameters, in the same format as the contents of the OCAMLRUNPARAM
environment variable.
ocaml_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.
Controls 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.
For 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