Skip to main content

A conflict between call-by-need computation and parallelism

  • Conference paper
  • First Online:
Conditional and Typed Rewriting Systems (CTRS 1994)

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

Included in the following conference series:

  • 138 Accesses

Abstract

In functional language implementation, there is a folklore belief that there is a conflict between implementing call-by-need semantics and parallel evaluation. In this note we illustrate this by proving that reduction algorithms of a certain general and commonly used form which give call-by-need semantics offer very little parallelism.

The analysis of lazy pattern-matching which leads to the above result also suggests an efficient sequential algorithm for the evaluation of a class functional programs satisfying certain constraints, an algorithm which respects the mathematical semantics of the program considered as a term rewrite system.

The author was partially supported by SEMAGRAPH II, ESPRIT working group 6345, by a SERC Advanced Fellowship, and by SERC Grant no. GR/F 91582.

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.

Similar content being viewed by others

References

  1. A. Berarducci and C. Böhm. A self-interpreter of lambda calculus having a normal form. Technical Report Rapporto tecnico 16, Dipartimento di Matematica Pura ed Applicata, Università di L'Aquila, 1992.

    Google Scholar 

  2. G, Berry. Séquentialité de l'évaluation formelle des λ-expressions. In Proc. 3-e Colloque International sur la Programmation, Paris, 1978.

    Google Scholar 

  3. S. Byun. The Simulation of Term Rewriting Systems by the Lambda Calculus. PhD thesis, University of East Anglia, Norwich, U.K., 1994.

    Google Scholar 

  4. [Dershowitz et al., 1991] N. Dershowitz, J.-P. Jouannaud, and J. W. Klop. Open problems in rewriting. In Proc. 4th International Conference on Rewriting Techniques and Applications, LNCS 488, pages 445–456. Springer-Verlag, 1991.

    Google Scholar 

  5. G. Huet and J.-J. Lévy. Call by need computations in non-ambiguous linear term rewriting systems. Technical Report Rapport de Recherche 359, INRIA, 1979.

    Google Scholar 

  6. G. Huet and J.-J. Lévy. Computations in orthogonal rewriting systems: I and ii. In J.-L. Lassez and G. D. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson, pages 394–443. MIT Press, 1991.

    Google Scholar 

  7. J.W. Klop and A. Middeldorp. Sequentiality in orthogonal term rewriting systems. J. Symbolic Computation, 12:161–195, 1991.

    Google Scholar 

  8. J. W. Klop. Term rewriting systems. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, vol.2, pages 2–116. Oxford University Press, 1991.

    Google Scholar 

  9. S. L. Peyton Jones. The implementation of functional programming languages. Prentice-Hall, 1987.

    Google Scholar 

  10. [Toyama et al., 1993] Y. Toyama, S. Smetsers, M.C.J.D. van Eekelen, and M.J. Plasmeijer. The functional strategy and transitive term rewriting systems, chapter 5, pages 61–75. Wiley, 1993. eds. M.R. Sleep and M.J. Plasmeijer and M.C.J.D. van Eekelen.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Nachum Dershowitz Naomi Lindenstrauss

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kennaway, R. (1995). A conflict between call-by-need computation and parallelism. In: Dershowitz, N., Lindenstrauss, N. (eds) Conditional and Typed Rewriting Systems. CTRS 1994. Lecture Notes in Computer Science, vol 968. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60381-6_15

Download citation

  • DOI: https://doi.org/10.1007/3-540-60381-6_15

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60381-8

  • Online ISBN: 978-3-540-45513-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics