Abstract
In this paper we consider rewrite systems that describe the λ-calculus enriched with recursive and non-recursive local definitions by generalizing the lsexplicit substitutions’ used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in λ-terms. This leads to ‘explicit cyclic substitutions’ that can describe the mutual sharing of local recursive definitions. We demonstrate how this may be used to describe standard binding constructions (let and letrec)—directly using substitution and fixed point induction as well as using ‘small-step’ rewriting semantics where substitution is interleaved with the mechanics of the following β-reductions.
With this we hope to contribute to the synthesis of denotational and operational specifications of sharing and recursion.
Supported by the Danish Research Council (SNF) under project DART.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy, Explicit Substitutions, in [21], 31–46.
S. Abramsky, The Lazy Lambda Calculus, ch. 4, in D. A. Turner (ed.), Research Topics in Functional Programming, Addison-Wesley, 1990, pp. 65–116.
Z. M. Ariola and Arvind, A Syntactic Approach to Program Transformations, in PEPM '91-Symposium on Partial Evaluation and Semantics-based Program Manipulation (Yale University, New Haven, Connecticut, USA), 17–19 June 1991, pp. 116–129.
H. Barendregt, The Lambda Calculus: Its Syntax and Semantics, revised edition, North-Holland, 1984.
H. P. Barendregt, M. C. D. J. van Eekelen, J. R. W. Glauert, J. R. Kennaway, M. J. Plasmeijer, and M. R. Sleep, Term Graph Rewriting, in J. W. de Bakker, A. J. Nijman. and P. C. Treleaven (eds.), PARLE '87-Parallel Architectures and Languages Europe (Eindhoven, The Netherlands), vol. II, LNCS no. 256, Springer-Verlag, June 1987, pp. 141–158.
N. G. de Bruijn, Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation with application to the Church-Rosser theorem, Koninkijke Nederlandse Akademie van Wetenschappen, Series A, Mathematical Sciences 75 (1972), 381–392.
B. Courcelle, Fundamental Properties of Infinite Trees, Theoretical Computer Science 25 (1983), 95–169.
P.-L. Curien, An Abstract Framework for Environment Machines, Unpublished note from LIENS/CNRS, July 1990.
G. Gonthier, M. Abadi, and J.-J. Lévy, The Geometry of Optimal Lambda Reduction, in POPL '92—Nineteenth Annual ACM Symposium on Principles of Programming Languages (Albuquerque, New Mexico), January 1992, pp. 1–14.
K. Grue, Call-by-Mix: A Reduction Strategy for Pure λ-calculus, Unpublished note from DIKU (University of Copenhagen), 1987.
C. Hankin, Static Analysis of Term Graph Rewriting Systems, ESPRIT “Semantique” working paper, 1990.
C. A. R. Hoare, Recursive Data Structures, Journal of Computer and Information Sciences 4 (1975), no. 2, 105–132.
K. H. Holm, Graph Matching in Operational Semantics and Typing, in A. Arnold (ed.), CAAP '90—15th Colloqvium on Trees and Algebra in Programming (Copenhagen, Denmark), LNCS no. 431, Springer-Verlag, March 1990, pp. 191–205.
J. R. Kennaway, J. W. Klop, M. R. Sleep, and F. J. de Vries, On the Sdequacy of Graph Rewritng for Simulating Term Rewriting, in [24] ch. 8 (to appear).
P. W. M. Koopman, S. E. W. Smetsers, M. C. D. J. van Eekelen, and M. J. Plasmeijer, Efficient Graph Rewriting using the Annotated Functional Strategy, in [20], 225–250, (available as nijmegen tech. report 91-25).
J. Lamping, An Algorithm for Optimal Lambda Calculus Reduction, in [21], 16–30.
J.-J. Lévy, Optimal Reductions in the Lambda Calculus, in J. P. Seldin and J. R. Hindley (eds.), To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism, Academic Press, 1980, pp. 159–191.
L. Maranget, Optimal Derivations in Weak Lambda-Calculi and in Orthogonal Terms Rewriting Systems, in POPL '91—Eightteenth Annual ACM Symposium on Principles of Programming Languages (Orlando, Florida), January 1991, pp. 255–269.
S. L. Peyton Jones, The Implementation of Functional Programming Languages, Prentice-Hall, 1987.
M. J. Plasmeijer and M. R. Sleep (eds.), SemaGraph '91 Symposium on the Semantics and Pragmatics of Generalized Graph Rewriting (Nijmegen, Holland), December 1991, (available as nijmegen tech. report 91–25).
POPL, POPL '90-Seventeenth Annual ACM Symposium on Principles of Programming Languages (San Francisco, California), January 1990.
K. H. Rose, GOS—Graph Operational Semantics, Speciale 92-1-9, DIKU (University of Copenhagen), Universitetsparken 1, DK-2100 København Ø, Denmark, March 1992, (56pp).
-, Graph-based Operational Semantics for Lazy Functional Languages, in [24] ch. 19 (to appear).
M. R. Sleep, M. J. Plasmeijer, and M. C. D. J. van Eekelen (eds.), Term Graph Rewriting: Theory and Practice, John Wiley & Sons, 1992 (to appear).
J. Staples, A Graph-like Lambda Calculus for which Leftmost Outermost Reduction is Optimal, in V. Claus, H. Ehrig, and G. Rozenberg (eds.), 1978 International Workshop in Graph Grammars and their Application to Computer Science and Biology (Bad Honnef, F. R. Germany), LNCS no. 73, Springer-Verlag, 1978, pp. 440–454.
Y. Toyama, S. Smetsers, M. van Eekelen, and M. J. Plasmeijer, The Functional Strategy and Transitive Term Rewriting Systems, in [20], 99–114, (available as nijmegen tech. report 91-25).
C. P. Wadsworth, Semantics and Pragmatics of the Lambda Calculus, Ph.D. Thesis, Programming Research Group, Oxford University, 1971.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rose, K.H. (1993). Explicit cyclic substitutions. In: Rusinowitch, M., Rémy, JL. (eds) Conditional Term Rewriting Systems. CTRS 1992. Lecture Notes in Computer Science, vol 656. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56393-8_3
Download citation
DOI: https://doi.org/10.1007/3-540-56393-8_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56393-8
Online ISBN: 978-3-540-47549-1
eBook Packages: Springer Book Archive