Module CCPair
Tuple Functions
val make : 'a -> 'b -> ('a, 'b) t
Make a tuple from its components.
- since
- 0.16
val map_fst : ('a -> 'b) -> ('a * 'c) -> 'b * 'c
map_fst f (x, y)
returns(f x, y)
. Renamed frommap1
since 3.0.
val map_snd : ('a -> 'b) -> ('c * 'a) -> 'c * 'b
map_snd f (x, y)
returns(x, f y)
. Renamed frommap2
since 3.0.
val map : ('a -> 'c) -> ('b -> 'd) -> ('a * 'b) -> 'c * 'd
Synonym to
( *** )
. Map on both sides of a tuple.
val map_same : ('a -> 'b) -> ('a * 'a) -> 'b * 'b
Like
map
but specialized for pairs with elements of the same type.
val map2 : ('a1 -> 'b1 -> 'c1) -> ('a2 -> 'b2 -> 'c2) -> ('a1 * 'a2) -> ('b1 * 'b2) -> 'c1 * 'c2
map2 f g (a,b) (x,y)
return(f a x, g b y)
.- since
- 3.0
val map_same2 : ('a -> 'b -> 'c) -> ('a * 'a) -> ('b * 'b) -> 'c * 'c
map_same2 f (a,b) (x,y)
return(f a x, f b y)
.- since
- 3.0
val fst_map : ('a -> 'b) -> ('a * _) -> 'b
Compose the given function with
fst
. Rename frommap_fst
since 3.0.- since
- 0.3.3
val snd_map : ('a -> 'b) -> (_ * 'a) -> 'b
Compose the given function with
snd
. Rename frommap_snd
since 3.0.- since
- 0.3.3
val iter : ('a -> 'b -> unit) -> ('a * 'b) -> unit
val swap : ('a * 'b) -> 'b * 'a
Swap the components of the tuple.
val (&&&) : ('a -> 'b) -> ('a -> 'c) -> 'a -> 'b * 'c
f &&& g
isfun x -> f x, g x
. It splits the computations into two parts.
val fold : ('a -> 'b -> 'c) -> ('a * 'b) -> 'c
Synonym to
merge
.- since
- 0.3.3
val dup_map : ('a -> 'b) -> 'a -> 'a * 'b
dup_map f x = (x, f x)
. Duplicates the value and applies the function to the second copy.- since
- 0.3.3