Goal-Directed Program Transformation
- 1 June 1976
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-2 (2) , 69-80
- https://doi.org/10.1109/tse.1976.233533
Abstract
Program development often proceeds by transforming simple, clear programs into complex, involuted, but more efficient ones. This paper examines ways this process can be rendered more systematic. We show how analysis of program performance, partial evaluation of functions, and abstraction of recursive function definitions from recurring subgoals can be combined to yield many global transformations in a methodical fashion. Examples are drawn from compiler optimization, list processing, very high-evel languages, and APL execution.Keywords
This publication has 12 references indexed in Scilit:
- A lazy evaluatorPublished by Association for Computing Machinery (ACM) ,1976
- Correctness-preserving program transformationsPublished by Association for Computing Machinery (ACM) ,1975
- Some transformations for developing recursive programsPublished by Association for Computing Machinery (ACM) ,1975
- Proving Theorems about LISP FunctionsJournal of the ACM, 1975
- Correct and optimal implementations of recursion in a simple programming languageJournal of Computer and System Sciences, 1974
- Two languages for estimating program efficiencyCommunications of the ACM, 1974
- High level operations in automatic programmingPublished by Association for Computing Machinery (ACM) ,1974
- On a laboratory for the study of automating programmingPublished by Association for Computing Machinery (ACM) ,1972
- AN APL MACHINE.Published by Office of Scientific and Technical Information (OSTI) ,1970
- A programming languagePublished by Association for Computing Machinery (ACM) ,1962