Needed reductions with context-sensitive rewriting

  • Salvador Lucas
Term Rewriting
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1298)


Computing with functional programs involves reduction of terms to normal form. When considering non-terminating programs, this is achieved by using some special, normalizing strategy which obtains the normal form whenever it exists. Context-sensitive rewriting can improve termination and also avoid useless reductions by imposing fixed, syntactic restrictions on the replacements. In this paper, we analyze the efficiency of context-sensitive computations with respect to the notion of needed reduction. As context-sensitive rewriting is complete in performing reductions to a root-stable form, we base our investigation on Middeldorp's theory of root-necessary reductions which is a generalization of Huet and Lévy's theory of (sequential) needed reductions to reductions leading to root-stable form both in sequential and parallel executions.


functional programming needed reductions replacement restrictions strategies term rewriting systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Antoy and A. Middeldorp. A Sequential Reduction Strategy. Theoretical Computer Science, 165(1):75–95, 1996.Google Scholar
  2. 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. 3.
    I. Durand and A. Middeldorp. Decidable Call by Need Computations in Term Rewriting (Extended Abstract). In Proc. of CADE'97, LNCS to appear.Google Scholar
  4. 4.
    G. Huet and J.J. Lévy. Computations in orthogonal term rewriting systems I, II. In J.L. Lassez and G. Plotkin, editors, Computational logic: essays in honour of J. Alan Robinson, pages 395–414 and 415–443. The MIT Press, Cambridge, MA, 1991.Google Scholar
  5. 5.
    R. Kennaway. A Conflict Between Call-By-Need Computation and Parallelism. In Proc. of Workshop on Conditional and Typed Rewriting Systems, CTRS'94, LNCS 968:247–261, Springer-Verlag, Berlin, 1994.Google Scholar
  6. 6.
    J.W. Klop. Term Rewriting Systems. In S. Abramsky, D.M. Gabbay and T.S.E. Maibaum. Handbook of Logic in Computer Science, volume 3, pages 1–116. Oxford University Press, 1992.Google Scholar
  7. 7.
    J.W. Klop and A. Middeldorp. Sequentiality in Orthogonal Term Rewriting Systems. Journal of Symbolic Computation 12:161–195, 1991.Google Scholar
  8. 8.
    S. Lucas. Context-sensitive computations in functional and functional logic programs. Journal of Functional and Logic Programming, 1997, to appear.Google Scholar
  9. 9.
    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
  10. 10.
    S. Lucas. Transformations for Efficient Evaluations in Functional Programming. In H. Glasser and H. Kuchen, editors, Proc. of 9th International Symposium on Programming Languages, Implementations, Logics, and Programs, PLILP'97, LNCS to appear.Google Scholar
  11. 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. 12.
    A. Middeldorp. Call by Need Computations to Root-Stable Form. In Conference Record of the 24th ACM Symposium on Principles of Programming Languages, pages 94–105, 1997.Google Scholar
  13. 13.
    M.J. O'Donnell. Computing in Systems Described by Equations. LNCS 58, Springer-Verlag, Berlin, 1977.Google Scholar
  14. 14.
    R.C. Sekar and I.V. Ramakrishnan. Programming in Equational Logic: Beyond Strong Sequentiality. Information and Computation 104:78–109, 1993.Google Scholar
  15. 15.
    C. Reade. Elements of Functional Programming. Addison-Wesley Publishing Company, 1993.Google Scholar
  16. 16.
    H. Zantema. Termination of Context-Sensitive Rewriting. In H. Comon, editor, Proc. of 8th International Conference on Rewriting Techniques and Applications, RTA'97, LNCS 1232:172–186, Springer-Verlag, Berlin, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Salvador Lucas
    • 1
  1. 1.Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de ValenciaValenciaSpain

Personalised recommendations