(Enter summary)
Abstract: Transforming recursion into iteration eliminates the use of stack frames during program execution. It has been studied extensively. This paper describes a powerful and systematic method, based on incrementalization, for transforming general recursion into iteration: identify an input increment, derive an incremental version under the input increment, and form an iterative computation using the incremental version. Exploiting incrementalization yields iterative computation in a uniform way and... (Update)
Context of citations to this paper: More
...as arrays for some examples. Our recent work on transforming recursion into iteration can help eliminate the linear stack space used [36]. There are dynamic programming problems, e.g. 0 1 knapsack, for which the use of an array, with constant time access to elements,...
.... used successfully to optimize loops, arrays, recursive functions, and recursive data structures [15] and transform recursion to iteration [17], the power of the method in general remains unknown. A similar method has also been used to optimize set and fixed point operations [4,...
Cited by: More
A Monadic Approach for Avoiding Code Duplication when .. - Swadi, Taha.. (2006)
(Correct)
Staging Dynamic Programming Algorithms - Kedar Swadi Kswadi (2005)
(Correct)
Iterate, incrementalize, and implement: A systematic approach to.. - Liu
(Correct)
Similar documents (at the sentence level):
62.0%: From Recursion to Iteration: What Are the Optimizations? - Liu, Stoller (1999)
(Correct)
Active bibliography (related documents): More All
0.6: Dynamic Programming via Static Incrementalization - Liu, Stoller (1999)
(Correct)
0.5: Optimization of Functional Programs by Grammar Thinning - Webber (1995)
(Correct)
0.5: Efficient Computation via Incremental Computation - Liu (1999)
(Correct)
Similar documents based on text: More All
0.4: Program Optimization Using Indexed and Recursive Data Structures - Liu, Stoller (2002)
(Correct)
0.4: Optimizing Aggregate Array Computations in Loops - Liu, Stoller, Li, Rothamel
(Correct)
0.3: Principled Strength Reduction - Liu (1996)
(Correct)
Related documents from co-citation: More All
9: Introduction to algorithms (context) - Cormen, Leiserson et al. - 1991
9: Dynamic programming via static incrementalization
- Liu, Stoller - 1999
8: Static caching for incremental computation
- Liu, Stoller et al. - 1998
BibTeX entry: (Update)
Y. A. Liu and S. D. Stoller. From recursion to iteration: what are the optimizations? Technical Report TR 527, Computer Science Department, Indiana University, Bloomington, Indiana, July 1999. http://citeseer.ist.psu.edu/liu00from.html More
@inproceedings{ liu00from,
author = "Yanhong A. Liu and Scott D. Stoller",
title = "From Recursion to Iteration: What are the Optimizations?",
booktitle = "Partial Evaluation and Semantic-Based Program Manipulation",
pages = "73-82",
year = "2000",
url = "citeseer.ist.psu.edu/liu00from.html" }
Citations (may not include all citations):
3972
Introduction to Algorithms (context) - Cormen, Leiserson et al. - 1990
1450
The Design and Analysis of Computer Algorithms (context) - Aho, Hopcroft et al. - 1974
862
The Java Language Specification
- Golsing, Joy et al. - 1997
385
A transformation system for developing recursive programs
- Burstall, Darlington - 1977
273
Can programming be liberated from the von Neumann style (context) - Backus - 1978
245
The Omega Test: A fast and practical integer programming alg..
- Pugh - 1992
204
KIDS: A semiautomatic program development system
- Smith - 1990
121
Proving and applying program transformations expressed with .. (context) - Huet, Lang - 1978
106
Essentials of Programming Languages (context) - Friedman, Wand et al. - 1992
81
Specification and Transformation of Programs--- A Formal App.. (context) - Partsch - 1990
72
A semantic model of reference counting and its abstraction
- Hudak - 1986
57
Modern Compiler Implementation in Java (context) - Appel - 1998
57
Systematic derivation of incremental programs
- Liu, Teitelbaum - 1995
56
The interprocedural analysis and automatic parallellization .. (context) - Harrison - 1989
54
Rules and strategies for transforming functional and logic p..
- Pettorossi, Proietti - 1996
53
Compile-time garbage collection by sharing analysis (context) - Jones, Le M'etayer - 1989
47
Continuation-based program transformation strategies (context) - Wand - 1980
44
Algorithmic Language and Program Development (context) - Bauer, Wossner - 1982
39
Discovering auxiliary information for incremental computatio..
- Liu, Stoller et al. - 1996
39
A system which automatically improves programs (context) - Darlington, Burstall - 1976
36
Finite differencing of computable expressions (context) - Paige, Koenig - 1982
33
Static caching for incremental computation
- Liu, Stoller et al. - 1998
33
Real-time simulation of a set machine on a RAM
- Paige - 1989
33
Dynamic programming via static incrementalization
- Liu, Stoller - 1999
31
Program derivation by fixed point computation
- Cai, Paige - 1988
31
Automatic transformation of series expressions into loops (context) - Waters - 1991
30
DTRE---A semi-automatic transformation system
- Blaine, Goldberg - 1991
26
Rinehart and Winston (context) - Purdom, Brown et al. - 1985
25
Program improvement by internal specialization (context) - Scherlis - 1981
23
Revised report on the algorithmic language Scheme (context) - Abelson, Dybvig - 1998
21
Comparative schematology (context) - Paterson, Hewitt - 1970
20
Set constraints for destructive array update optimization
- Wand, Clinger - 1998
16
Eliminating redundant recursive calls (context) - Cohen - 1983
16
Some techniques for recursion removal from recursive functio.. (context) - Arsac, Kodratoff - 1982
16
Principled strength reduction
- Liu - 1997
16
Goal-directed program transformation (context) - Wegbreit - 1976
14
incremental-attributionbased program transformation system f.. (context) - Liu, An - 1995
14
MONA Version (context) - Klarlund - 1998
14
A powerful strategy for deriving efficient programs by trans.. (context) - Pettorossi - 1984
11
the synthesis of function inverses (context) - Harrison, Khoshnevisan - 1992
11
From recursion to iteration: what are the optimizations
- Liu, Stoller - 1999
10
Improving recursive functions by inverting the order of eval.. (context) - Boiten - 1992
9
Programming with variable functions
- Odersky - 1998
7
Characterizations of flowchartable recursions (context) - Walker, Strong - 1973
6
volume 36 of Lecture Notes in Computer Science (context) - Greibach, Program et al. - 1975
6
Recursion versus iteration at higher-orders
- Kfoury - 1997
6
Lisp and Symbolic Computation (context) - Filinski, iteration - 1994
6
A new approach to recursion removal (context) - Harrison, Khoshnevisan - 1992
6
From function level semantics to program transformation and .. (context) - Backus - 1985
5
The expressive power of higher-order types or (context) - Jones
3
Transformations of fp program schemes (context) - Kieburtz, Shultis - 1981
2
Linearisation: An optimization for nonlinear functional prog.. (context) - Harrison - 1988
1
An efficient machine-independent procedure for grabage colle.. (context) - Schorr, Waite - 1967
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www.cs.indiana.edu/~liu/): More
From Recursion to Iteration: What Are the Optimizations? - Liu, Stoller (1999)
(Correct)
Eliminating Dead Code on Recursive Data - Liu, Stoller (1999)
(Correct)
Automatic Accurate Stack Space and Heap Space Analysis.. - Unnikrishnan, Stoller, .. (2000)
(Correct)
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC