Since the original APL\360 interpreter saw the light of day in 1966, a large part of the of primitive functions in APL (A Programming Language) implicitly map operations to all elements of array arguments (and arrays of numbers or characters are the only "types" available in the language). Over the decades, the parallelism at the core of the notation has been extended, to nested arrays in the 80's and arrays of objects in the 00's. In this decade, arrays of futures have been added to provide users of APL with the ability to express asynchronous \u2013 but deterministic -algorithms.

This talk will introduce the most important parallel constructs available in current Dyalog APL, which (despite the name) essentially remains an executable mathematical notation.