|
ABSTRACT
This paper proposes an expressional loop notation (XLoop) based on the ideas described in [16,17] which makes it practical to express loops as compositions of functions. The primary benefit of XLoop is that it brings the powerful metaphor of expressions and decomposability to bear on the domain of loops. Wherever this metaphor can be applied, it makes algorithms much easier to construct, understand, and modify. XLoop applies the expressional metaphor to loops by introducing a new data type series. A series is an ordered one dimensional sequence of data objects. Series are used to represent intermediate results during a computation. Algorithms which would typically be rendered as iterative loops are instead represented as compositions of functions operating on series. For example, the program SUM_VECT computes the sum of the elements in a vector of integers by using ENUM_VECTOR to create a series of the integers in the vector and then using SUM to compute their sum.
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
|
|
| |
2
|
T.A. Budd. "An APL Compiler", Univ. of Arizona, Dept. of Comp. Sci. TR 81-17, October 1981.
|
| |
3
|
G. Burke and D. Moon, "Loop Iteration Macro", MIT/LCS/TM-169, July 1980.
|
| |
4
|
D.P. Friedman and D.S. Wise, "CONS Should Not Evaluate Its Arguments", Indiana Tech. Rep. 44, Nov. 1975.
|
 |
5
|
|
 |
6
|
|
| |
7
|
G. Kahn and D.B. MacQueen, "Coroutines and Networks of Parallel Processes", in 1977 Proc. IFIP congress, North-Holland, Amsterdam The Netherlands, 1977.
|
| |
8
|
B Liskov , E Moss , A Snyder , R Atkinson , J C. Schaffert , T Bloom , R Scheifler, CLU reference manual, Springer-Verlag New York, Inc., New York, NY, 1984
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
G.R. Ruth. S. Alter, and W. Martin, "A Very High Level Language for Business Data Processing". MIT/LCS/TR-254. 1981.
|
 |
13
|
|
| |
14
|
W. Teitelman, "InterLisp Reference Manual", Xerox PARC, 1978.
|
| |
15
|
P. Wadler, "Applicative Languages, program Transformation, and List Operators", PhD Thesis. Carnegie-Mellon Univ., 1982.
|
| |
16
|
|
| |
17
|
R.C. Waters, "A Method for Analyzing Loop Programs", IEEE Trans. on Soft. Eng., V5 #3. May 1979.
|
| |
18
|
R.C. Waters, "LETS: an Expressional Loop Notation", MIT/AIM-680, October 1982.
|
| |
19
|
|
| |
20
|
|
| |
21
|
D.S. Wile, "Generator Expressions", USC Information Sciences Institute Technical Report ISI/RR-83-116, 1983.
|
|