module Bool: Bool;
type t = bool =
| |
false |
| |
true |
The type of booleans (truth values).
The constructors false
and true
are included here so that they have
paths, but they are not intended to be used in user-defined data types.
let (!): bool => bool;
not b
is the boolean negation of b
.
let (&&): (bool, bool) => bool;
e0 && e1
is the lazy boolean conjunction of expressions e0
and e1
.
If e0
evaluates to false
, e1
is not evaluated. Right-associative
operator at precedence level 3/11.
let (||): (bool, bool) => bool;
e0 || e1
is the lazy boolean disjunction of expressions e0
and e1
.
If e0
evaluates to true
, e1
is not evaluated. Right-associative
operator at precedence level 2/11.
let equal: (bool, bool) => bool;
equal b0 b1
is true
if and only if b0
and b1
are both true
or both false
.
let compare: (bool, bool) => int;
compare b0 b1
is a total order on boolean values. false
is smaller
than true
.
let to_int: bool => int;
to_int b
is 0
if b
is false
and 1
if b
is true
.
let to_float: bool => float;
to_float b
is 0.
if b
is false
and 1.
if b
is true
.
let to_string: bool => string;
to_string b
is "true"
if b
is true
and "false"
if b
is
false
.