An overview of the Adl language project
Abstract
The purpose of the Adl project is to demonstrate the efficient
implementation of data parallel functional programming, firstly on the
TMC CM-5 but ultimately on other parallel machines. We have designed a
small polymorphic non-recursive language (Adl), which
emphasizes high-level operations (second-order combinators) on
aggregate structures. The Adl project incorporates the formal description
of Adl semantics, translation and optimization, and the design of an
abstract data-parallel machine which describes not only the CM-5 but
also other distributed memory multicomputers and hence encourages
architecture-independent code generation. An executable natural
semantic description of translation to the Bird-Meertens Formalism
(BMF) has been completed; similar techniques are being used with an
optimizer. We also describe an implementation of the abstract
machine for the CM-5 implementation.