|
ABSTRACT
An incremental computation is one that is performed repeatedly on nearly identical inputs. Incremental computations occur naturally in many environments, such as compilers, language-based editors, spreadsheets, and formatters. This article describes a proposed tool for making it easy to write incremental programs. The tool consists of a programming language, INC, and a set of compile-time transformations for the primitive elements of INC. A programmer defines an algorithm in INC without regard to efficient incremental execution. The transformations automatically convert this algorithm into an efficient incremental algorithm. INC is a functional language. The implementation of an INC program is a network of processes. Each INC function is transformed into a process that receives and transmits messages describing changes to its inputs and outputs. We give an overview to the language and illustrate the incremental techniques employed by INC. We present the static and incremental complexity bounds for the primitive INC functions. We also present some example programs illustrating INC's flexibility.
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
|
Bowen Alpern , Roger Hoover , Barry K. Rosen , Peter F. Sweeney , F. Kenneth Zadeck, Incremental evaluation of computational circuits, Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms, p.32-42, January 22-24, 1990, San Francisco, California, United States
|
 |
3
|
A. W. Appel , J. R. Ellis , K. Li, Real-time concurrent collection on stock multiprocessors, Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, p.11-20, June 20-24, 1988, Atlanta, Georgia, United States
|
| |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
BURKE, M., AND RYDER, B.G. Incremental iterative data fiow analysis algorithms. Tech. Rep. LCSR-TR-96, Dept. of Computer Science, Rutgers Univ., Aug. 1987.
|
| |
8
|
|
| |
9
|
CHEN, P., HARmSON, M., AND MINAKAT5, I. Incremental document formatting. Tech. Rep., Computer Science Div. Univ. of California, Berkeley, June 1988.
|
| |
10
|
|
| |
11
|
HARmSON, P., AND KHOSHNEVTSAN, H. An introduction to FP and the FP style of programming. Computers and their Applications, Ellis-Horwood, Chichester, England, 1987, pp. 44-56.
|
 |
12
|
J. Heering , P. Klint , J. Rekers, Incremental generation of parsers, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.179-191, June 19-23, 1989, Portland, Oregon, United States
|
| |
13
|
13. HENn~so~, P., AND WmSER, M. The Visiprog environment. Tech. Rep., State Univ. of New York at Stony Brook, 1988. An abridged version appeared in the Proceedings of the 8th International Conference on Software Engineering.
|
 |
14
|
|
 |
15
|
|
| |
16
|
HO~SPOOL, N. Incremental generation of LR parsers. Tech. Rep., Computer Science Dept., Univ. of Victoria, March 1988.
|
 |
17
|
|
| |
18
|
P~G~, W., J~. Incremental computation and the incremental evaluation of functional programs. Ph.D. thesis, Cornell Univ. Ithaca, N.Y., Aug. 1988.
|
 |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
PAruE, R. Prog~camming with invariants. IEEE Sofiw. 3, i (Jan. 1986), 56-69.
|
 |
23
|
|
| |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
|
| |
28
|
Robert E. Strom , David F. Bacon , Arthur P. Goldberg , Andy Lowry , Daniel M. Yellin , Shaula Alexander Yemini, Hermes: a language for distributed computing, Prentice-Hall, Inc., Upper Saddle River, NJ, 1991
|
| |
29
|
|
| |
30
|
|
 |
31
|
H. H. Vogt , S. D. Swierstra , M. F. Kuiper, Higher order attribute grammars, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.131-145, June 19-23, 1989, Portland, Oregon, United States
|
 |
32
|
|
| |
33
|
YELLIN, D. M. A dynamic transitive closure algorithm. Tech. Rep. RC 13535, IBM T J. Watson Research Center, June 1988. Revised Oct. 1990.
|
| |
34
|
|
 |
35
|
|
CITED BY 19
|
|
|
|
|
|
|
|
Yanhong A. Liu , Scott D. Stoller , Tim Teitelbaum, Discovering auxiliary information for incremental computation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.157-170, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
|
|
|
|
|
|
Jacob Slonim , Patrick Finnigan , Alberto Mendelson , Toby Teorey , Michael Bauer , Paul Larson , Richard McBride , Yechiam Yemini , Shaula Yemini, Towards a new distributed programming environment (CORDS), Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research, October 28-30, 1991, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yanhong A. Liu , Chen Wang , Michael Gorbovitski , Tom Rothamel , Yongxi Cheng , Yingchao Zhao , Jing Zhang, Core role-based access control: efficient implementations by transformations, Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, January 09-10, 2006, Charleston, South Carolina
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Georg Sander : Reviewer"
INC is a functional language designed for automatic
incrementalization of programs. An incrementalized program calculates a
new output from previous (intermediate) results and new inputs. An INC
program is translated into a network of processe
more...
|