package ocaml-compiler

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Stdlib.PairSource

Operations on pairs.

  • since 5.4

Pairs

Sourcetype ('a, 'b) t = 'a * 'b

The type for pairs.

Sourceval make : 'a -> 'b -> 'a * 'b

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

Sourceval fst : ('a * 'b) -> 'a

fst (a, b) is a.

Sourceval snd : ('a * 'b) -> 'b

snd (a, b) is b.

Sourceval swap : ('a * 'b) -> 'b * 'a

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

Iterators

Sourceval fold : ('a -> 'b -> 'c) -> ('a * 'b) -> 'c

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

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

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

Sourceval iter : ('a -> unit) -> ('b -> unit) -> ('a * 'b) -> unit

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

Sourceval map_fst : ('a -> 'c) -> ('a * 'b) -> 'c * 'b

map_fst f p applies f to p's first component.

Sourceval map_snd : ('b -> 'c) -> ('a * 'b) -> 'a * 'c

map_snd f p applies f to p's second component.

Predicates and comparisons

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

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