---
name: "Bool"
section: "3o"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Bool"
---

# Bool(3o)

Boolean values.

## NAME

Bool - Boolean values.

## Module

Module   Bool

## Documentation

Module **Bool**\
  :  **sig end**

Boolean values.

**Since** 4.08

### Booleans

*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.

*val not* :  **bool -\> bool**

**not b** is the boolean negation of  **b** .

*val (&&)* :  **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.

*val (\|\|)* :  **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.

*val logand* :  **bool -\> bool -\> bool**

**logand b1 b2** is  **true** if and only if  **b1** and  **b2** are both  **true** .

*val logor* :  **bool -\> bool -\> bool**

**logor b1 b2** is  **true** if and only if either  **b1** or  **b2** is  **true** .

*val logxor* :  **bool -\> bool -\> bool**

**logxor b1 b2** is  **true** if exactly one of  **b1** and  **b2** is  **true** .

### Predicates and comparisons

*val equal* :  **bool -\> bool -\> bool**

**equal b0 b1** is  **true** if and only if  **b0** and  **b1** are both  **true** or both  **false** .

*val compare* :  **bool -\> bool -\> int**

**compare b0 b1** is a total order on boolean values.  **false** is smaller than  **true** .

### Converting

*val to\_int* :  **bool -\> int**

**to\_int b** is  **0** if  **b** is  **false** and  **1** if  **b** is  **true** .

*val to\_float* :  **bool -\> float**

**to\_float b** is  **0.** if  **b** is  **false** and  **1.** if  **b** is  **true** .

*val to\_string* :  **bool -\> string**

**to\_string b** is  **"true"** if  **b** is  **true** and  **"false"** if  **b** is **false** .

*val 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

*val 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
