1993
DOI: 10.1145/176454.176510
|View full text |Cite
|
Sign up to set email alerts
|

On the conversion of indirect to direct recursion

Abstract: Procedure inlining can be used to convert mutual recursion to direct recursion. This allows use of optimization techniques that are most easily applied to directly recursive procedures, in addition to the well-known benefits of inlining. We present tight (necessary and sufficient) conditions under which inlining can transform all mutual recursion to direct recursion, and those under which heuristics to eliminate mutual recursion always terminate. We also present a technique to eliminate mutually recursive circ… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

1997
1997
2017
2017

Publication Types

Select...
4
3
2

Relationship

2
7

Authors

Journals

citations
Cited by 16 publications
(10 citation statements)
references
References 8 publications
0
10
0
Order By: Relevance
“…While having our own personal answers to these questions (squarely in favor of OOP), we hope the brief discussion above-including the illustrating analogy with natural languagessheds some light on why we believe these questions to be more philosophical and controversial questions and lesser technical and scientific ones. 8,9 5 Ideas to Incorporate Later…”
Section: Oop Versus Fpmentioning
confidence: 99%
See 1 more Smart Citation
“…While having our own personal answers to these questions (squarely in favor of OOP), we hope the brief discussion above-including the illustrating analogy with natural languagessheds some light on why we believe these questions to be more philosophical and controversial questions and lesser technical and scientific ones. 8,9 5 Ideas to Incorporate Later…”
Section: Oop Versus Fpmentioning
confidence: 99%
“…Due to our belief in the strong interconnectedness of the real-world and given that not all mutual recursion (also called indirect recursion) can be translated to direct recursion [8,15], in affirmation to Penrose's opinion we believe that mutual recursion is one of the computability ideas that may be a key idea in physical theory, and, accordingly, that more use of mutual recursion (and of mutually recursive proofs, i.e., object-oriented proofs) in mathematical physics needs to be made. 10 6 Implementation/Proof of Concept…”
Section: ] Penrose Writesmentioning
confidence: 99%
“…Another method performs procedure inlining to convert mutual recursion to direct recursion [20]. This allows use of optimization techniques that are most easily applied to directly recursive procedures.…”
Section: Related Workmentioning
confidence: 99%
“…The gain in execution speed may be due to direct eects, such as the reduction in the number of call and return instructions executed or due to indirect eects, such as cache and virtual memory behavior and in-context optimizations permitted on the inlined code [8±10]. Inlining has also been used to convert as much indirect recursion to direct recursion as possible [11], and to minimize the control stack usage when the program is run with a given input [12].…”
Section: Introductionmentioning
confidence: 99%