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

# Stdlib.Pair(3o)

no description

## NAME

Stdlib.Pair - no description

## Module

Module   Stdlib.Pair

## Documentation

Module **Pair**\
  :  **(module Stdlib\_\_Pair)**

### Pairs

*type* **('a, 'b)** *t* =  **'a \* 'b**

The type for pairs.

*val make* :  **'a -\> 'b -\> 'a \* 'b**

**make a b** is the pair  **(a, b)** .

*val fst* :  **'a \* 'b -\> 'a**

**fst (a, b)** is  **a** .

*val snd* :  **'a \* 'b -\> 'b**

**snd (a, b)** is  **b** .

*val swap* :  **'a \* 'b -\> 'b \* 'a**

**swap (a, b)** is  **(b, a)** .

### Iterators

*val fold* :  **('a -\> 'b -\> 'c) -\> 'a \* 'b -\> 'c**

**fold f (a, b)** applies  **f** to  **a** and  **b** .

*val map* :  **('a -\> 'c) -\> ('b -\> 'd) -\> 'a \* 'b -\> 'c \* 'd**

**map f g (a, b)** applies  **f** to  **a** and  **g** to  **b** .

*val iter* :  **('a -\> unit) -\> ('b -\> unit) -\> 'a \* 'b -\> unit**

**iter f g (a, b)** first applies  **f** to  **a** , and then  **g** to  **b** .

*val map\_fst* :  **('a -\> 'c) -\> 'a \* 'b -\> 'c \* 'b**

**map\_fst f p** applies  **f** to  **p** 's first component.

*val map\_snd* :  **('b -\> 'c) -\> 'a \* 'b -\> 'a \* 'c**

**map\_snd f p** applies  **f** to  **p** 's second component.

### Predicates and comparisons

*val equal* :  **('a -\> 'a -\> bool) -\> ('b -\> 'b -\> bool) -\> 'a \* 'b -\> 'a \* 'b -\> bool**

**equal eqa eqb (a1, b1) (a2, b2)** is  **true** if and only if  **eqa a1 a2** and **eqb b1 b2** are both  **true** .

*val compare* :  **('a -\> 'a -\> int) -\> ('b -\> 'b -\> int) -\> 'a \* 'b -\> 'a \* 'b -\> int**

**compare cmpa cmpb** is a total order on pairs using  **cmpa** to compare the first component, and  **cmpb** to compare the second component. It is implemented by a lexicographic order.
