keen/parallel
Sourcedo-in-parallel[t, u] (t, u)((a t shared(void), b u shared(void))) t shared, u sharedDo two unrelated things in parallel
parallel-collection[col] recordcollection colfor-loop[out-col, out-elem, in-col, in-elem] out-col(a in-col parallel-collection, f out-elem shared(in-elem)) out-elem shared, in-elem shared, (out-col, out-elem) list-new, in-col size, (in-col, in-elem) someFor each element of a, runs f in parallel. Returns a collection of all the results of f.
If any call to f throws an exception, this will throw that too. (If multiple calls to f throw an exception, one will be thrown arbitrarily.) This will still wait for all calls to f to complete before returning.