Swift Arrays and Parallel Execution
Arrays of values can be declared using the [] suffix. Following is an example of an array of strings:
string pets[] = ["shane", "noddy", "leo"];
An array may be mapped to a collection of files, one element per file, by using a different form of mapping expression. For example, the filesys_mapper maps all files matching a particular unix glob pattern into an array:
file frames[] <filesys_mapper; pattern="*.jpg">;
The foreach construct can be used to apply the same block of code to each element of an array:
foreach f,ix in frames {
output[ix] = rotate(f, 180);}
Sequential iteration can be expressed using the iterate construct:
step[0] = initialCondition();
iterate ix {
step[ix] = simulate(step[ix-1]);
This fragment will initialise the 0-th element of the step array to some initial condition, and then repeatedly run the simulate
procedure, using each execution’s outputs as input to the next step.