Skip to main content

Explicit cyclic substitutions

  • Type Systems and Graph Rewriting
  • Conference paper
  • First Online:
Conditional Term Rewriting Systems (CTRS 1992)

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

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy, Explicit Substitutions, in [21], 31–46.

    Google Scholar 

  2. S. Abramsky, The Lazy Lambda Calculus, ch. 4, in D. A. Turner (ed.), Research Topics in Functional Programming, Addison-Wesley, 1990, pp. 65–116.

    Google Scholar 

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

    Google Scholar 

  4. H. Barendregt, The Lambda Calculus: Its Syntax and Semantics, revised edition, North-Holland, 1984.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. B. Courcelle, Fundamental Properties of Infinite Trees, Theoretical Computer Science 25 (1983), 95–169.

    Article  Google Scholar 

  8. P.-L. Curien, An Abstract Framework for Environment Machines, Unpublished note from LIENS/CNRS, July 1990.

    Google Scholar 

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

    Google Scholar 

  10. K. Grue, Call-by-Mix: A Reduction Strategy for Pure λ-calculus, Unpublished note from DIKU (University of Copenhagen), 1987.

    Google Scholar 

  11. C. Hankin, Static Analysis of Term Graph Rewriting Systems, ESPRIT “Semantique” working paper, 1990.

    Google Scholar 

  12. C. A. R. Hoare, Recursive Data Structures, Journal of Computer and Information Sciences 4 (1975), no. 2, 105–132.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  16. J. Lamping, An Algorithm for Optimal Lambda Calculus Reduction, in [21], 16–30.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  19. S. L. Peyton Jones, The Implementation of Functional Programming Languages, Prentice-Hall, 1987.

    Google Scholar 

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

    Google Scholar 

  21. POPL, POPL '90-Seventeenth Annual ACM Symposium on Principles of Programming Languages (San Francisco, California), January 1990.

    Google Scholar 

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

    Google Scholar 

  23. -, Graph-based Operational Semantics for Lazy Functional Languages, in [24] ch. 19 (to appear).

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  27. C. P. Wadsworth, Semantics and Pragmatics of the Lambda Calculus, Ph.D. Thesis, Programming Research Group, Oxford University, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michaël Rusinowitch Jean-Luc Rémy

Rights and permissions

Reprints 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

Publish with us

Policies and ethics