Controlling reduction partial order in functional parallel programs

  • F. Warren Burton
Resource Control Issues
Part of the Lecture Notes in Computer Science book series (LNCS, volume 279)


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).


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arvind, Sharing of Computations in Functional Language Implementations, Laboratory for Computer Science, Massachusetts Institute of Technology, July 1984.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    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.CrossRefGoogle Scholar
  4. 4.
    F. W. Burton and M. M. Huntbach, "Virtual tree machines", IEEE Trans. on Computers C-33, 3 (Mar. 1984), 278–280.Google Scholar
  5. 5.
    F. W. Burton, "Speculative computation, parallelism, and functional programming", IEEE Trans. on Computers C-34, 12 (Dec. 1985), 1190–1193.Google Scholar
  6. 6.
    F. W. Burton, "Storage management in virtual tree machines", IEEE Trans. on Computers, To appear.Google Scholar
  7. 7.
    F. W. Burton, "Functional programming for concurrent and distributed computing", Comp. J., To appear.Google Scholar
  8. 8.
    F. W. Burton, "Nondeterminism with referential transparency in functional programming languages", To appear.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    D. A. Turner, "A new implementation technique for applicative languages", Software-Practice & Experience 9 (1979), 31–49.Google Scholar
  16. 16.
    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.Google Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    P. Wadler, "Applicative style programming, program transformation, and list operators", Proc. 1981 Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1981.Google Scholar
  19. 19.
    C. P. Wadsworth, Semantics and Progmatics of the Lambda-Calculus, Oxford University, 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • F. Warren Burton
    • 1
  1. 1.Department of Computer Science 3160 MEBUniversity of UtahSalt Lake CityU. S. A.

Personalised recommendations