| | |
Summary: A Syntactic Approach to Program Transformations
Zena M. Ariola
Aiken Computational Laboratory
Harvard University
Arvind
Laboratory for Computer Science
Massachusetts Institute of Technology
Abstract: Kid, a language for expressing compiler opti
mizations for functional languages is introduced. The lan
guage is –calculus based but treats letblocks as first class
objects. Letblocks and associated rewrite rules provide the
basis to capture the sharing of subexpressions precisely. The
language goes beyond –calculus by including Istructures
which are essential to express efficient translations of list and
array comprehensions. A calculus and a parallel interpreter
for Kid are developed. Many commonly known program
transformations are also presented. A partial evaluator for
Kid is developed and a notion of correctness of Kid trans
formations based on the syntactic structure of terms and
printable answers is presented.
|