ACM Home Page
Please provide us with feedback. Feedback
Goal-directed program transformation
Full text PdfPdf (1.23 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages table of contents
Atlanta, Georgia
Pages: 153 - 170  
Year of Publication: 1976
Author
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 25,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800168.811549
What is a DOI?

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 level languages, and APL execution.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Abrams, P. An APL Machine. SLAC-14, Stanford Linear Accelerator Center, Feb. 1970.
 
2
ACM Sigplan Symp. on Very High Level Languages. Sigplan Notices, 9, 4, April 1974.
 
3
Allen, F.E. and Cocke, J. A catalogue of optimizing transformations. In R. Rustin (Ed.) Design and Optimization of Compilers, Prentice-Hall, 1972, 1-30.
 
4
Battarel, G. et al. Optimized interpretation of APL statements. In P. Gjerlov, H.J. Helms, and J. Nielsen (Eds.) APL Congress 73, North-Holland, 1973, 49-57.
 
5
Beckman, L. et al. A partial evaluator and its use as a programming tool. Dept. of Computer Sciences, Uppsala University, Sweden, Nov. 1974.
6
7
 
8
 
9
Cheatham, T.E. and Wegbreit, B. A laboratory for the study of automating programming. AFIPS Conf. Proc., Vol. 70 (Spring 1972), 11-21.
10
 
11
Dijkstra, E.W. Notes on structured programming. In O.J. Dahl, E.W. Dijkstra, and C.A.R. Hoare (Eds.) Structured Programming, Academic Press, 1972, 1-82.
12
13
 
14
Henderson, P. and Morris, J.H. A lazy evaluator. CSL, Xerox Palo Alto Research Center, August 1975.
 
15
Holt, A.W. et al. Final report for the information system theory project. Applied Data Research, Inc., New York, Feb. 1968.
 
16
 
17
Lombardi, L.A. and Raphael, B. Lisp as the language for an incremental computer. In E.C. Berkeley and D.G. Bobrow (Eds.) The Programming Language LISP: Its Operation and Applications, MIT Press, Cambridge, 1964, 204-219.
 
18
Manna, Z. and Waldinger, R. Knowledge and reasoning in program synthesis. Stanford Research Inst., Menlo Park, CA, Nov. 1974.
 
19
Pakin, S. APL/360 Reference Manual. Science Research Associates, Inc. 1968.
 
20
Sanderwall, E.A. Programming tool for management of predicate-calculus-oriented data bases. Proc. Second Int. Joint Conf. on Artificial Intelligence, British Computer Society, 1971.
21
 
22
Vuillemin, J. Correct and optimal implementations of recursion in a simple programming language. JCSS, 9, 3 (Dec. 1974), 332-353.
23

CITED BY  8