|
ABSTRACT
An incremental algorithm is one that takes advantage of the fact that the function it computes is to be evaluated repeatedly on inputs that differ only slightly from one another, avoiding unnecessary duplication of common computations.
We define here a new notion of incrementality for reduction in the untyped &lgr;-calculus and describe an incremental reduction algorithm, &Lgr;inc. We show that &Lgr;inc has the desirable property of performing non-overlapping reductions on related terms, yet is simple enough to allow a practical implementation. The algorithm is based on a novel &lgr;-reduction strategy that may prove useful in a non-incremental setting as well.
Incremental &lgr;-reduction can be used to advantage in any setting where an algorithm is specified in a functional or applicative manner.
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.
 |
ACCL90
|
|
| |
ACR+87
|
B. Alpern, A. Carle, B. Rosen, P. Sweeney, and K. Zadeck. Incremental evaluation of attributed graphs. Technical Report RC 13205, IBM Thomas J. Watson Research Center, Yorktown Heights, New York 10598, October 1987.
|
| |
Bar84
|
H.P. Barendregt. The ~ambda Calculus, volume 103 of Studies in Logic and the Founda. tions of Mathematics. lXIorth-Holland, Amsterdam, 1984.
|
| |
Ben82
|
|
| |
BKKS87
|
|
| |
BPR85
|
A.M. Berman, M. C. Paull, and B. G. Ryder. Proving relative lower bounds for incremental algorithms. Technical Report DCS-TR-154, Department of Computer Science, Rutgers University, New Brunswick, New Jersey 08903, 1985.
|
| |
BvEG+87
|
H P Barendregt , M C J D Eekelen , J R W Glauert , J R Kennaway , M J Plasmeijer , M R Sleep, Term graph rewriting, Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe, p.141-158, March 1987, Eindhoven, The Netherlands
|
| |
CCM87
|
|
| |
Cur86a
|
|
| |
Cur86b
|
|
| |
dB72
|
N.G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. Proc. of the Koninklijke 1Vederlandse Akademie van Wetenschappen, 75(5):381-392, 1972.
|
 |
DRT81
|
|
| |
Ear76
|
J. Earley. High level iterators and a method for automatically designing data structure representation. Journal o/ Computer Languages, 1:321-342, 1976.
|
| |
Fie90a
|
John Field. Incremental Reduction and its Applications. PhD thesis, Cornell University, 1990. (Forthcoming).
|
 |
Fie90b
|
|
| |
FW87
|
|
 |
HM76
|
|
| |
JSS89
|
Neil D. Jones, Peter Sestoft, and Harald SZndergaard. Mix: A self-applicable partial evaluator for experiments in compiler generation. Lisp and Symbolic Computation, 2, 1989.
|
| |
Klo80
|
J.W. Klop. Coml~inator!l Reduction Systems, volume 127 of Mathematical Centre Tracts. Mathematical Centre, Kruislaan 413, Amsterdam 1098SJ, The Netherlands, 1980.
|
| |
Lév78
|
Jean-Jacques L~vy. Rdductions correctes et optimales dans le lambda-calcul. PhD thesis, Universit6 de Paris VII, 1978. (Thbse d'Et~t).
|
| |
Lév80
|
Jean-Jacques L6vy. Optimal reductions in the lambda-calculus. In J.P. Seldin and J.R. Hindley, editors, To H.B. Curry: Essays on Combi. natory Logic, Lambda Calculus, and Formalism. Academic Press, London, 1980.
|
| |
O’D77
|
|
| |
Pey87
|
|
 |
PK82
|
|
 |
PT89
|
|
 |
Rep82
|
|
| |
Sun90
|
R.S. Sundaresh. Technical report. Yale University, 1990.
|
| |
Wad71
|
C.P. Wadsworth. Semantics and Pragmatics of the ~ambda-Calculus. PhD thesis, Oxford University, 1971.
|
| |
YS87
|
D. Yellin and R. Strom. ~INC~: A language for incremental computations. Technical Report RC 13327, IBM Thomas J. Watson Research Center, Yorktown Heights, New York 1(}598, December 1987.
|
CITED BY 14
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|