Transforming recursion into iteration eliminates the use of stack frames during program ex-ecution. It has been studied extensively. This paper describes a general and powerful method, based on incrementalization, for transforming general recursion into iteration: identify an in-put increment, derive an incremental version under the input increment, and form an iterative computation using the incremental version. Exploiting incrementalization yields iterative com-putation in a uniform way and also allows additional optimizations to be explored cleanly and applied systematically, in most cases yielding iterative programs that use constant addition-al space, reducing additional space usage asymptotically. We summarize major optimizations, com...
Peer-reviewed. received 16th March 1999; accepted 8th September 1999The transformation of a recursi...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
International audienceIn this paper we present an approach to specify programs performing iterations...
Recursion is often used for elegant specification of algorithms. We are looking for methods to repla...
Incremental computation takes advantage of repeated computations on inputs that differ slightly from...
Incremental computation takes advantage of repeated computations on inputs that differ slightly fro...
A systematic approach is given for deriving incremental programs from non-incremental programs writt...
Recursion and iteration usually seem like epic rivals, on opposite sides of a fundamental tradeoff b...
A systematic stepwise transformational approach is given for deriving incremental programs from non-...
Incrementalization is at the core of a systematic program de-sign method, especially for the design ...
The object of this paper is to study the mechanism of recursion in a simple, LISP-like programming l...
NOTICE: this is the author’s version of a work that was accepted for publication in Information and ...
Basis of software development is to guarantee productivity and safety. Programming using recursion $...
There is general consensus that recursion is difficult to learn, which may be meant to imply that no...
We revisit both the usual ``going-up'' induction principle and Manna and Waldinger's ``going-down'' ...
Peer-reviewed. received 16th March 1999; accepted 8th September 1999The transformation of a recursi...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
International audienceIn this paper we present an approach to specify programs performing iterations...
Recursion is often used for elegant specification of algorithms. We are looking for methods to repla...
Incremental computation takes advantage of repeated computations on inputs that differ slightly from...
Incremental computation takes advantage of repeated computations on inputs that differ slightly fro...
A systematic approach is given for deriving incremental programs from non-incremental programs writt...
Recursion and iteration usually seem like epic rivals, on opposite sides of a fundamental tradeoff b...
A systematic stepwise transformational approach is given for deriving incremental programs from non-...
Incrementalization is at the core of a systematic program de-sign method, especially for the design ...
The object of this paper is to study the mechanism of recursion in a simple, LISP-like programming l...
NOTICE: this is the author’s version of a work that was accepted for publication in Information and ...
Basis of software development is to guarantee productivity and safety. Programming using recursion $...
There is general consensus that recursion is difficult to learn, which may be meant to imply that no...
We revisit both the usual ``going-up'' induction principle and Manna and Waldinger's ``going-down'' ...
Peer-reviewed. received 16th March 1999; accepted 8th September 1999The transformation of a recursi...
Incremental computations can improve the performance of interactive programs such as spreadsheet pro...
International audienceIn this paper we present an approach to specify programs performing iterations...