Deriving imperative code from functional programs
Patrice Quinton, Sanjay V. Rajopadhye, Doran K. Wilde · 1995
Alpha is a data parallel functional language which has the capability of specifying algorithms at a very high level.Our ultimate objective is to generate efficient parallel imperative code from an Alpha program.In this paper, we discuss the related problem of generating efficient single processor imperative code.Analysis techniques that were developed for the synthesis of systolic arrays are extended and adapted for the compilation of functional programming languages.We also demonstrate how a transformational methodology can be used as a compilation engine to transform an Alpha program to a sequential form.C-code is then generated using a straightforward pretty printer from the sequential form Alpha program.The C-code may then be compiled to efficiently execute the program.1