Abstract
In a functional parallel programming language a programmer may wish to control the reduction partial order to increase parallelism, reduce storage requirements, or reduce the total amount of work performed.
We show by a series of example that the reduction partial order can be easily controlled by using a combination of call-by-value, call-by-name, and call-by-speculation (an eager form of call-by-need).
This material is based upon work supported by the National Science Foundation under Grant No. DMC-8514946.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Arvind, Sharing of Computations in Functional Language Implementations, Laboratory for Computer Science, Massachusetts Institute of Technology, July 1984.
F. W. Burton and M. R. Sleep, "Executing functional programs on a virtual tree machine", Proc. 1981 Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1981, 187–194.
F. W. Burton, "Annotations to control parallelism and reduction order in the distributed evaluation of functional programs", ACM Trans. Prog. Lang and Systems 6, 2 (Apr. 1984), 159–174.
F. W. Burton and M. M. Huntbach, "Virtual tree machines", IEEE Trans. on Computers C-33, 3 (Mar. 1984), 278–280.
F. W. Burton, "Speculative computation, parallelism, and functional programming", IEEE Trans. on Computers C-34, 12 (Dec. 1985), 1190–1193.
F. W. Burton, "Storage management in virtual tree machines", IEEE Trans. on Computers, To appear.
F. W. Burton, "Functional programming for concurrent and distributed computing", Comp. J., To appear.
F. W. Burton, "Nondeterminism with referential transparency in functional programming languages", To appear.
F. W. Burton, D. Maurer, H. Oberhauser and R. Wilhelm, "A space efficient optimization of call-by-need", IEEE Trans. on Software Eng., To appear.
D. P. Friedman and D. S. Wise, "Cons should not evaluate its arguments", Third Int. Coll. Automata Languages and Programming, Edinburgh, Scotland, 1976, 257–284.
P. Henderson and J. M. Morris, "A lazy evaluator", Conf. Rec 3th ACM Symp. on Prin. of Prog. Lang., Atlanta, Ga., Jan. 1976, 95–103.
R. J. M. Hughes, "Super Combinators: A new implementation method for applicative programs", Proc. 1982 ACM Symposium on LISP and Functional Programming, Pittsburgh, Penn., Aug. 1982, 1–10.
R. J. M. Hughes, "Why functional programming matters", Programming Methodology Group Memo PMG-40, Dept. of Computer Science, Chambers University of Technology and University of Goteborg, Goteborg, Sweden, 1984.
J. McCarthy, "A basic mathematical theory of computation", in Computer Programming and Formal Systems, P. Braffort and D. Hirschberg (editor), North Holland, Amsterdam, 1963, 33–70.
D. A. Turner, "A new implementation technique for applicative languages", Software-Practice & Experience 9 (1979), 31–49.
D. A. Turner, "Functional programs as executable specifications", in Mathematical logic and programming languages, C. A. R. Hoare and J. Shepherdson (editor), Prentice Hall, Englewood Cliffs, NJ, 1985, 29–54.
D. A. Turner, "Miranda: A non-strict functional language with polymorphic types", in Functional Programming Languages and Computer Architecture, vol. 201, J. Jouannaud (editor), Springer-Verlag, Berlin-Heidelberg-New York-Tokyo, 1985, 1–16.
P. Wadler, "Applicative style programming, program transformation, and list operators", Proc. 1981 Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1981.
C. P. Wadsworth, Semantics and Progmatics of the Lambda-Calculus, Oxford University, 1971.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Burton, F.W. (1987). Controlling reduction partial order in functional parallel programs. In: Fasel, J.H., Keller, R.M. (eds) Graph Reduction. GR 1986. Lecture Notes in Computer Science, vol 279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18420-1_58
Download citation
DOI: https://doi.org/10.1007/3-540-18420-1_58
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18420-1
Online ISBN: 978-3-540-47963-5
eBook Packages: Springer Book Archive