Support for ad hoc parallelism in Frege through java's ForkJoin mechanism
a `par` b
Fork evaluation of a and return b.
f $| a
Equivalent to
a `par` f a
Is useful only if f takes a lazy argument, otherwise the thunk will be evaluated right away.
parOp f a b
Equivalent to
a `par` (b `par` f a b)
The function should be lazy in both arguments.
a :| as
Equivalent to
parOp (:) a as
mapP f xs
Like map, but applies the function parallel to mapping the rest of the list. It does therefore not work with infinite lists.