| Lambda Calculus with Explicit Recursion (1996) | |||||||||||||||||
Abstract | |||||||||||||||||
| This paper is concerned with the study of -calculus with explicit recursion, namely of cyclic -graphs. The starting point is to treat a -graph as a system of recursion equations involving -terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for first-order term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the `substitution' operation. This leads to a family of -graph calculi, which can be seen as an extension of the family of oe-calculi (-calculi with explicit substitution). While the oe-calculi treat the let-construct as a first-class citizen, our calculi support the letrec, a feature that is essential to reason about time and space behavior of functional languages and also about compilation and optimizations of programs. CR Subject Classification (1991): D.1.1, D.3.1, F.1.1, F.4.1, F.4.2 Keywords & Phrases: lambda cal... | |||||||||||||||||
Publication details | |||||||||||||||||
| |||||||||||||||||