Module Stdlib.Bool

Boolean values.

Booleans

type t = bool =
  1. | false
  2. | 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 not: 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.

Predicates and comparisons

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.

Converting

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.

let seeded_hash: int => bool => int;

A seeded hash function for booleans, with the same output value as Hashtbl.seeded_hash. This function allows this module to be passed as argument to the functor Hashtbl.MakeSeeded.

  • since 5.1
let hash: bool => int;

An unseeded hash function for booleans, with the same output value as Hashtbl.hash. This function allows this module to be passed as argument to the functor Hashtbl.Make.

  • since 5.1