|
ABSTRACT
An important feature of the applicative style is the use of operators that package common patterns of computation. For example, the list operator map applies a function to every element of a list. Practical use of this style has been hampered by the fact that it can be very inefficient to execute. One remedy for this situation is to use source-to-source program transformation to convert applicative style programs to more efficient equivalents. This paper examines how list operators can be used to guide the transformation process. It describes a small set of list operators that possess a “complete” set of transformation rules, allowing transformations to be performed very efficiently. Whereas most previous transformation methods resemble proofs, this transformation method resembles algebraic manipulation.
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 Technical Report 114, Stanford Univ., Feb 1970.
|
 |
2
|
|
| |
3
|
Burge, W. H. Recursive Programming Techniques. Addison-Wesley, Reading, Mass., 1975.
|
| |
4
|
Burge, W. H. An optimizing technique for high level programming languages. IBM Watson Research Center, RC 5834 (#25271), Feb 1976.
|
| |
5
|
Burstall, R. M., McQueen, D. B., and Sanella, D. T. Hope: An experimental applicative language. Univ. of Edinburgh, Dept. of Computer Science, 1980.
|
 |
6
|
|
 |
7
|
|
| |
8
|
Darlington, J., and Burstall, R. M. A system which automatically improves programs. Acta Informatica 6, 1 (1976).
|
 |
9
|
|
| |
10
|
Feather, M. S. A system for developing programs by transformation. Ph.D. Thesis, Univ. of Edinburgh, 1979.
|
| |
11
|
Friedman, D. P., and Wise, D. S. Cons should not evaluate its arguments. In Automata, Languages, and Programming, ed. Michaelson and Milner, Edinburgh Univ. Press, 1976, pp. 257-284.
|
 |
12
|
|
 |
13
|
|
| |
14
|
Huet, G., and Lang, B. Proving and applying program transformations expressed with second-order patterns. Acta Informatica 11 (1978), pp. 31-55.
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
 |
18
|
|
| |
19
|
Manna, Z., and Waldinger, R. Knowledge and reasoning in program synthesis. Artificial Intelligence 6 (1975), p. 175.
|
| |
20
|
Manna, Z., and Waldinger, R. Synthesis: Dreams &equil; > Programs. IEEE Trans. Software Engineering SE-5, 4 (July 1979).
|
| |
21
|
Miller, T. C. Tentative compilation: a design for an APL compiler. Univ. of California, San Diego, Technical Report 78-CS-013, May 1978.
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
 |
25
|
|
| |
26
|
Sharir, M. Some observations concerning formal differentiation of set-theoretic expressions. New York Univ., Dept. of Computer Science, Courant Inst. Mathematical Sciences, Tech. Rep. 16, Oct. 1979.
|
 |
27
|
|
| |
28
|
|
| |
29
|
Wile, D. S. Generator expressions. Internal memo, USC-ISI, 1979.
|
|