Skip to main content

Explicit substitutions for objects and functions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1490))

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.

Unable to display preview. Download preview PDF.

References

  1. Martín Abadi and Luca Cardelli. A Theroy of Objects. Springer Verlag, 1996.

    Google Scholar 

  2. Martin Abadi, Luca Cardelli, Pierre Louis Curien, and Jean-Jacques Lévy. Explicit substitutions. Journal of Functional Programming, 4(1):375–416, 1991.

    Article  MATH  Google Scholar 

  3. Henk Barendregt. The Lambda Calculus; Its syntax and Semantics (revised edition). North Holland. 1984.

    Google Scholar 

  4. Gilles Barthe, Fairouz Kamareddine, and Alejandro Ríos. Explicit substitutions for control operators. TR 96-26, University of Glasgow, 1997.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Roel Bloo and Kristoffer Rose. Combinatory reduction systems with explicit substitution that preserve strong normalisation. In RTA'96, LNCS 1103, 1996.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. N. de Bruijn. Lambda-calculus notation with namefree formulas involving symbols that represent reference transforming mappings. Indag. Mat., 40:384–356, 1978.

    Google Scholar 

  9. N. Dershowitz. Orderings for term rewriting systems. Theoretical Computer Science, 17(3):279–301, 1982.

    Article  MATH  MathSciNet  Google Scholar 

  10. 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.

    Google Scholar 

  11. Thérèse Hardin and Jean-Jacques Lévy. A confluent calculus of substitutions. In France-Japan Artificial Intelligence and Computer Science Symposium, 1989.

    Google Scholar 

  12. Delia Kesner. Confluence properties of extensional and non-extensional λ-calculi with explicit substitutions. In RTA'96, LNCS 1103, 1996.

    Google Scholar 

  13. S. Kamin and J. J. Lévy. Attempts for generalizing the recursive path orderings. University of Illinois, 1980.

    Google Scholar 

  14. Fairouz Kamareddine and Alejandro Ríos. A λ-calculus à la de bruijn with explicit substitutions. In PLILP'95, LNCS 982, 1995.

    Google Scholar 

  15. Fairouz Kamareddine and Alejandro Ríos. Bridging the λσ-and λs-styles of explicit substitutions. TR 97-10, University of Glasgow, 1997.

    Google Scholar 

  16. Jan Willem Klop, Vincent van Oostrom, and Femke van Raamsdonk. Combinatory reduction systems: introduction and survey. Theoretical Computer Science, 121:279–308, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  17. Pierre Lescanne. From λσ to λv a journey through calculi of explicit substitutions. In POPL'94, ACM, 1994.

    Google Scholar 

  18. Paul-André Mellies. Typed λ-calculi with explicit substitutions may not terminate. In TLCA'95, LNCS 902, 1995.

    Google Scholar 

  19. César Muñoz. Confluence and preservation of strong normalisation in an explicit substitutions calculus. In LICS'96, IEEE, 1996.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. Didier Rémy. From classes to objects via subtyping, 1997. Draft.

    Google Scholar 

  22. Didier Rémy. Personal communication, 1997.

    Google Scholar 

  23. Kristoffer Rose. Explicit cyclic substitutions. In CTRS'92, LNCS 656, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catuscia Palamidessi Hugh Glaser Karl Meinke

Rights and permissions

Reprints 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

Publish with us

Policies and ethics