Notation for Parallel Thought
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 – 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.
Outline/Structure of the Talk
The talk will review the original parallel constructs in 1966 APL, and the extensions that have been made during the first decade of APL. It will be similar to my keynote at Array'16, but with more focus on a comparative discussion of the parallel features of the language from a user perspective and less focus on implementation.
An understanding of the parallelism available in the APL language.
Anyone interested in functional array-oriented parallel programming