PRIMITIVES
signature
The PRIMITIVES
signature provides a few “primitive”
operations for parallel evalution.
val par : (unit → 'a) * (unit → 'b) → ('a * 'b)
val par3 : (unit → 'a) * (unit → 'b) * (unit → 'c) → ('a * 'b * 'c)
val par4 : (unit → 'a) * (unit → 'b) * (unit → 'c) * (unit → 'd) → ('a * 'b * 'c * 'd)
val parTab : int * (int → 'a) → (int → 'a)
val par :
(unit → 'a) * (unit → 'b) → ('a * 'b)
par (f, g)
evaluates f and g in parallel. It
is logically equivalent to (f(),g()).
val par3 :
(unit → 'a) * (unit → 'b) * (unit → 'c) → ('a * 'b * 'c)
par3 (f, g, h)
evaluates f, g, and h in parallel. It
is logically equivalent to (f(),g(),h()).
val par4 :
(unit → 'a) * (unit → 'b) * (unit → 'c) * (unit → 'd) → ('a * 'b * 'c * 'd)
par4 (f, g, h, i)
evaluates f, g, h, and i in parallel. It
is logically equivalent to (f(),g(),h(),i()).
val parTab :
int * (int → 'a) → (int → 'a)
parTab (n, f)
evaluates f(i) for every 0≤i<n
in parallel. It is logically equivalent to f.