Skip to main content
Log in

Denotational semantics of a para-functional programming language

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Apara-functional programming language is a functional language that has been extended with special annotations that provide an extra degree of control over parallel evaluation. Of most interest are annotations that allow one to express the dynamic mapping of a program onto a known multiprocessor topology. Since it is quite desirable to provide a precise semantics for any programming language, in this paper adenotational semantics is given for a simple para-functional programming language with mapping annotations. A precise meaning is given not only to the normalfunctional behavior of the program (i.e., the answer), but also to theoperational notion of where (i.e., on what processor) expressions are evaluated. The latter semantics is accomplished through an abstract entity called anexecution tree.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arvind and V. Kathail, A Multiple Processor Data Flow Machine that Supports Generalized Procedures,Proc. 8th Annual Sym. Comp. Arch., ACM-SIGARCH9(3):291–302 (May 1981).

    Google Scholar 

  2. A. L. Davis, The Architecture and System Method of DDM-1: A Recursively-structured Data Driven Machine,Proc. Fifth Annual Symposium on Computer Architecture (1978).

  3. J. B. Dennis and D. P. Misunas, A Preliminary Architecture for a Basic Data-flow Processor,Proc. of the 2nd Annual Symposium on Computer Architecture, pp. 126–132, ACM, IEEE (1974).

  4. R. M. Keller, G. Lindstrom, and S. Patil, A Loosely-coupled Applicative Multiprocessing System,AFIPS, pp. 613–622 (June 1979).

  5. P. Hudak and B. Goldberg, Distributed Execution of Functional Programs Using Serial Combinators,Proceedings of Intl. Conf. on Parallel Proc., pp. 831–839 (August 1985; also appeared inIEEE Trans. on Computers,C-34(10):881–891 (October 1985).

  6. P. Hudak and B. Goldberg,Serial Combinators: “Optimal” Grains of Parallelism, pp. 382–388. Springer-Verlag LNCS 201 (September 1985).

  7. R. M. Keller and F. C. H. Lin, Simulated Performance of a Reduction-based Multiprocessor,IEEE Computer,17(7):70–82 (July 1984).

    Google Scholar 

  8. P. C. Treleaven, D. R. Brownbridge, and R. P. Hopkins, Data Driven and Demand Driven Computer Architecture. ARM 15, The University of Newcastly Upon Tyne Computing Lab, (July 1980).

  9. P. Hudak,Exploring Para-functional Programming, Research Report YALEU/DCS/RR-467, Yale University, Department of Computer Science (April 1986).

  10. P. Hudak, Para-functional Programming,Computer,19(8):60–71 (August 1986).

    Google Scholar 

  11. P. Hudak and L. Smith, Para-functional Programming: A Paradigm for Programming Multiprocessor systems,In 12th ACM Sym. ob Prin. of Prog. Lang., pp. 253–254 (January 1986).

  12. J. C. Gordon,The Denotational Description of Programming Languages, Springer-Verlag, New York (1979).

    Google Scholar 

  13. P. Hudak and J. Young, Higher-order Strictness Analysis for Unyped Lambda Calculus, In12th ACM Sym. on Prin. of Prog. Lang., pp. 97–109 (January 1986).

  14. P. Hudak,ALFL Reference Manual and Programmer's Guide, Research Report YALEU/DCS/RR-322, Second Edition, Yale University (October 1984).

  15. W. Clingeret al., The Revised Revised Report on Scheme, or An UnCommon Lisp, AI Memo 848, Massachusets Institute of Technology (August 1985).

  16. J. Schwarz, Using Annotations to Make Recursion Equations Behave,IEEE Trans. on Software Engineering,SE-8(1):21–33 (January 1982).

    Google Scholar 

  17. R. M. Burstall and J. Darlington, A Transformation System for Developing Recursive Programs,JACM,24(1):44–67 (1977).

    Article  Google Scholar 

  18. E. Shapiro,Systotic Programming: A Paradigm of Parallel Processing, Dept. of Applied Mathematics CS84-21, The Weizmann Institute of Science (August 1984).

  19. S. Pappert,Mindstorms: Children, Computers and Powerful Ideas, Basic Books (1980).

  20. R. M. Keller and G. Lindstrom, Approaching Distributed Database Implementations Through Functional Programming Concepts,Intl. Conf. on Distributed Systems (May 1985).

  21. F. W. Burton, Annotations to Control Parallelism and Reduction Order in the Distributed Evaluation of Functional Programs,ACM Trans. on Prog. Lang. and Sys.,6(2) (April 1984).

  22. N. S. Sridharan,Semi-applicative Programming: An Exampe, Technical Report, BBN Laboratories (November 1985).

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research was supported in part by the National Science Foundation under Grants DCR-8403304 and DCR-8451415, and the Department of Energy under Grant DE-FG02-86ER25012.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hudak, P. Denotational semantics of a para-functional programming language. Int J Parallel Prog 15, 103–125 (1986). https://doi.org/10.1007/BF01414441

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01414441

Key Words

Navigation