ACM Home Page
Please provide us with feedback. Feedback
Expressional loops
Full text PdfPdf (1.03 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Salt Lake City, Utah, United States
Pages: 1 - 10  
Year of Publication: 1984
ISBN:0-89791-125-3
Author
Richard C. Waters  MIT Artificial Intelligence Laboratory, 545 Technology Square, Cambridge, MA
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGADA: ACM Special Interest Group on Ada Programming Language
SIGAPL: ACM Special Interest Group on APL Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 20,   Citation Count: 7
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/800017.800511
What is a DOI?

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
 
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.