Abstract
This paper proposes an implementation of objects and functions via a calculus with explicit substitutions which is confluent and preserves strong normalization. The source calculus corresponds to the combination of the ς-calculus of Abadi and Cardelli [AC96] and the λ-calculus, and the target calculus corresponds to an extension of the former calculus with explicit substitutions. The interesting feature of our calculus is that substitutions are separated — and treated accordingly — in two different kinds: those used to encode ordinary substitutions and those encoding invoke substitutions. When working with explicit substitutions, this differentiation is essential to encode λ-calculus into ς-calculus in a conservative way, following the style proposed in [AC96].
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Martín Abadi and Luca Cardelli. A Theroy of Objects. Springer Verlag, 1996.
Martin Abadi, Luca Cardelli, Pierre Louis Curien, and Jean-Jacques Lévy. Explicit substitutions. Journal of Functional Programming, 4(1):375–416, 1991.
Henk Barendregt. The Lambda Calculus; Its syntax and Semantics (revised edition). North Holland. 1984.
Gilles Barthe, Fairouz Kamareddine, and Alejandro Ríos. Explicit substitutions for control operators. TR 96-26, University of Glasgow, 1997.
Roel Bloo and Kristoffer Rose. Preservation of strong normalization in named lambda calculi with explicit substitution and garbage collection. In Computer Science in the Netherlands (CSN), pages 62–72, 1995.
Roel Bloo and Kristoffer Rose. Combinatory reduction systems with explicit substitution that preserve strong normalisation. In RTA'96, LNCS 1103, 1996.
N. de Bruijn. Lambda-calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. Indag. Mat., 5(35):381–392, 1972.
N. de Bruijn. Lambda-calculus notation with namefree formulas involving symbols that represent reference transforming mappings. Indag. Mat., 40:384–356, 1978.
N. Dershowitz. Orderings for term rewriting systems. Theoretical Computer Science, 17(3):279–301, 1982.
Thérèse Hardin. Résultats de confluence pour les règles fortes de la logique combinatoire catégorique et liens avec les lambda-calculs. Thèse de doctorat, Université de Paris VII, 1987.
Thérèse Hardin and Jean-Jacques Lévy. A confluent calculus of substitutions. In France-Japan Artificial Intelligence and Computer Science Symposium, 1989.
Delia Kesner. Confluence properties of extensional and non-extensional λ-calculi with explicit substitutions. In RTA'96, LNCS 1103, 1996.
S. Kamin and J. J. Lévy. Attempts for generalizing the recursive path orderings. University of Illinois, 1980.
Fairouz Kamareddine and Alejandro Ríos. A λ-calculus à la de bruijn with explicit substitutions. In PLILP'95, LNCS 982, 1995.
Fairouz Kamareddine and Alejandro Ríos. Bridging the λσ-and λs-styles of explicit substitutions. TR 97-10, University of Glasgow, 1997.
Jan Willem Klop, Vincent van Oostrom, and Femke van Raamsdonk. Combinatory reduction systems: introduction and survey. Theoretical Computer Science, 121:279–308, 1993.
Pierre Lescanne. From λσ to λv a journey through calculi of explicit substitutions. In POPL'94, ACM, 1994.
Paul-André Mellies. Typed λ-calculi with explicit substitutions may not terminate. In TLCA'95, LNCS 902, 1995.
César Muñoz. Confluence and preservation of strong normalisation in an explicit substitutions calculus. In LICS'96, IEEE, 1996.
Bruno Pagano. X.R.S: Explicit reduction systems a first-order calculus for higher order calculi. Thèse de doctorat, Université de Paris VII, 1997.
Didier Rémy. From classes to objects via subtyping, 1997. Draft.
Didier Rémy. Personal communication, 1997.
Kristoffer Rose. Explicit cyclic substitutions. In CTRS'92, LNCS 656, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kesner, D., Martínez López, P.E. (1998). Explicit substitutions for objects and functions. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056615
Download citation
DOI: https://doi.org/10.1007/BFb0056615
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65012-6
Online ISBN: 978-3-540-49766-0
eBook Packages: Springer Book Archive