package spin
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=d151cf6aee92c3b6f2d596b11b5d1ac2c75d554b681aa736b6293981344d062c
sha512=e80ec9d40eecace6684308960ea224b81ce6e2fc8e81201c99702d13b3d888b7f2de9379777c94719bf679ee6ed10e3a83668064bba36cf1121f1f6628539046
doc/spin.std/Spin_std/Spin_sys/index.html
Module Spin_std.Spin_sys
Source
include module type of struct include Sys end
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.
When running in JavaScript in the browser, it is [| "a.out" |]
.
get_argv
is a function because the external function caml_sys_modify_argv
can replace the array starting in OCaml 4.09.
A single result from get_argv ()
. This value is indefinitely deprecated. It is kept for compatibility with Stdlib.Sys
.
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"
(for all Unix versions, including Linux and macOS);"Win32"
(for MS-Windows, OCaml compiled with MSVC++ or MinGW); or"Cygwin"
(for MS-Windows, OCaml compiled with Cygwin)
When running in JavaScript, it is "Unix"
.
unix
is true
if os_type = "Unix"
.
win32
is true
if os_type = "Win32"
.
cygwin
is true
if os_type = "Cygwin"
.
Currently, the official distribution only supports Native
and Bytecode
, but it can be other backends with alternative compilers, for example, JavaScript.
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
. When running in JavaScript, it will be 32
.
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
. Int.num_bits
is the same as this value.
big_endian
is true when the program is running on a big-endian architecture. When running in JavaScript, it will be false
.
max_string_length
is the maximum allowed length of a string
or Bytes.t
. String.max_length
is the same as this value.
max_array_length
is the maximum allowed length of an 'a array
. Array.max_length
is the same as this value.
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.
When running in JavaScript or utop it will be ""
, while if compiled with DEBUG (debugging of the runtime) it will be "d"
, and if compiled with CAML_INSTR (instrumentation of the runtime) it will be "i"
.
Returns the value of the runtime parameters, in the same format as the contents of the OCAMLRUNPARAM
environment variable. When running in JavaScript, it will be ""
.
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.
Returns whether runtime warnings are currently enabled.
Return the value associated to a variable in the process environment. Return None
if the variable is unbound or the process has special privileges, as determined by secure_getenv(3)
on Linux.
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
Like opaque_identity
. Forces its argument to be globally allocated.