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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
G, Berry. Séquentialité de l'évaluation formelle des λ-expressions. In Proc. 3-e Colloque International sur la Programmation, Paris, 1978.
S. Byun. The Simulation of Term Rewriting Systems by the Lambda Calculus. PhD thesis, University of East Anglia, Norwich, U.K., 1994.
[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.
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.
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.
J.W. Klop and A. Middeldorp. Sequentiality in orthogonal term rewriting systems. J. Symbolic Computation, 12:161–195, 1991.
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.
S. L. Peyton Jones. The implementation of functional programming languages. Prentice-Hall, 1987.
[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.
Author information
Authors and Affiliations
Editor information
Rights 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