Module Prelude.T3

Useful functions on 3-tuples.

val fst : ('a * 'b * 'c) -> 'a
val snd : ('a * 'b * 'c) -> 'b
val thd : ('a * 'b * 'c) -> 'c

(up a b c) is (a,b,c).

val up : 'a -> 'b -> 'c -> 'a * 'b * 'c

(up a b c) is (a,b,c).

val map : ('a -> 'b) -> ('a * 'a * 'a) -> 'b * 'b * 'b

(map f (a,b,c)) is (f a, f b, f c): applies the same function to each element of the triple.

val random : (unit -> 'a) -> (unit -> 'b) -> (unit -> 'c) -> unit -> 'a * 'b * 'c

(random r1 r2 r3) is a random triple of values (v1,v2,v3) s.t. (v1 = r1 ()), (v2 = r2 ()) and (v3 = r3 ()).