Declarative Ada

John Thornley · 1995

Declarative parallel programming languages express and control parallelism at a high level of abstraction--through implicit dataflow, rather than explicit communication and synchronization operations. However, most declarative languages are esoteric, mathematically inspired notations with syntax, control constructs, and data types very different from popular sequential imperative languages. We present Declarative Ada, a parallel dataflow programming language with the same syntax as a simple Pascal-like subset of Ada. The difference between Declarative Ada and a sequential language is that all variables are single-assignment and all loops and compositions of statements are parallel by default. Declarative Ada programs implicitly express parallelism at all levels of granularity, yet can be constructed to be identical to equivalent sequential programs. We believe that Declarative Ada is an ideal language for learning a high-level, dataflow approach to parallel program design. A user-friendly, portable Declarative Ada compiler has been developed specifically for experimental and instructional use.

Read the paper · More papers on PaperTik