Skip to main content

Context-sensitive computations in confluent programs

  • λ-Calculus and Rewriting
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1996)

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

Abstract

Context-sensitive rewriting is a refined form of rewriting which explores a smaller reduction space by imposing some fixed restrictions on the replacements. Any Term Rewriting System (TRS) can be given a context-sensitive rewrite relation. In this paper, we formulate conditions to guarantee the confluence of this relation. Moreover, for a confluent TRS, we are able to give sufficient conditions to ensure that the (eventually obtained) computed value of a given expression can be reached by using context-sensitive rewriting, thus leading to more efficient and still complete computations.

This work has been partially supported by CICYT under grant TIC 95-0433-C03-03.

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. N. Dershowitz. Termination of rewriting. Journal on Symbolic Computation 3:69–115, 1987.

    Google Scholar 

  2. N. Dershowitz and J.P. Jouannaud. Rewrite Systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, pages 243–320. Elsevier, Amsterdam and The MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  3. H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification. Volume 6 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1985.

    Google Scholar 

  4. D.P. Friedman and D.S. Wise. CONS should not evaluate its arguments. In S. Michaelson and R. Milner, editors, Automata, Languages and Programming, pages 257–284, Edinburgh University Press, 1976.

    Google Scholar 

  5. G. Huet. Confluent reductions: abstract properties and applications to term rewriting systems. Journal of the ACM 27:797–821, 1980.

    Google Scholar 

  6. G. Huet and J.J. Lévy. Computations in orthogonal term rewriting systems. In J.L. Lassez and G. Plotkin, editors, Computational logic: essays in honour of J. Alan Robinson, MIT Press, Cambridge, MA, 1991.

    Google Scholar 

  7. J.F.Th. Kamperman and H.R. Walters. Lazy Rewriting and Eager Machinery. In J. Hsiang, editor, Proc. of the 6th International Conference on Rewriting Techniques and Applications, RTA '95, LNCS 914:147–162, Springer-Verlag, Berlin, 1995.

    Google Scholar 

  8. R. Lalement. Computation as Logic. Masson-Prentice Hall International, 1993.

    Google Scholar 

  9. S. Lucas. Fundamentals of context-sensitive rewriting. In M. Bartosek, J. Staudek and J. Wiedermann, editors, Proc. of XXII Seminar on Current Trends in Theory and Practice of Informatics, SOFSEM'95, LNCS 1012:405–412, Springer-Verlag, Berlin, 1995.

    Google Scholar 

  10. S. Lucas. Termination of context-sensitive rewriting by rewriting. In F. Meyer auf der Heide and B. Monien, editors, Proc. of 23rd. International Colloquium on Automata, Languages and Programming, ICALP'96, LNCS 1099:122–133, Springer-Verlag, Berlin, 1996.

    Google Scholar 

  11. L. Maranget. Optimal Derivations in Weak Lambda-calculi and in Orthogonal Term Rewriting Systems In Conference Record of the 18th ACM Symposium on Principles of Programming Languages, pages 255–269, ACM Press, 1990.

    Google Scholar 

  12. A. Mycroft. The theory and practice of transforming call-by-need into call-by-value. In Proc. of the fourth International Symposium on Programming, LNCS 83:269–281, Springer-Verlag, Berlin, 1980.

    Google Scholar 

  13. M.H.A. Newman. On theories with a combinatorial definition of ‘equivalence'. Ann. Math., 43:223–243, 1942.

    Google Scholar 

  14. C. Reade. Elements of Functional Programming. Addison-Wesley Publishing Company, 1987.

    Google Scholar 

  15. J.E. Stoy. Denotational semantics: the Scott-Strachey approach to programming language theory. The MIT Press, Cambridge MA, 1977.

    Google Scholar 

  16. J. Vuillemin Correct and optimal implementation of recursion in a simple programming language. JCSS 9(3):332–354, 1974.

    Google Scholar 

  17. P. Wadler. Strictness Analysis on Non-Flat Domains (by Abstract Interpretation over Finite Domains). In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, Ellis Horwood Ltd., John Wiley and sons, pages 266–275, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Herbert Kuchen S. Doaitse Swierstra

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lucas, S. (1996). Context-sensitive computations in confluent programs. In: Kuchen, H., Doaitse Swierstra, S. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1996. Lecture Notes in Computer Science, vol 1140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61756-6_100

Download citation

  • DOI: https://doi.org/10.1007/3-540-61756-6_100

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61756-3

  • Online ISBN: 978-3-540-70654-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics