Skip to main content

Process semantics of graph reduction

  • Session: Mobile Processes III
  • Conference paper
  • First Online:
CONCUR '95: Concurrency Theory (CONCUR 1995)

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

Included in the following conference series:

Abstract

This paper introduces an encoding of λ-terms in a subset of the π-calculus which mimics the graph reduction of the λ-terms. The encoding is sufficiently general to incorporate multiple reduction strategies, cycles and constants. As such it provides a concurrent operational semantics required for the parallel implementation of a lazy functional language. Only a small subset of π-calculus is used which enjoys a number of properties which make it eligible as an implementable compiler target language. The encoding is presented in terms of pure λ-terms and a correspondence to an established model of graph reduction is formally proved.

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.

References

  1. S. Abramsky. The lazy λ-calculus. In D. Turner, editor, Research Topics in Functional Programming, pages 65–117. Addison-Wesley, 1990.

    Google Scholar 

  2. Z. Ariola, M. Felleisen, J. Maraist, M. Odersky, and P. Wadler. A call-by-need λ-calculus. In The Conference Record of Principles of Programming Languages, ACM, 1995.

    Google Scholar 

  3. H. Barendregt. The λ-calculus: its syntax and semantics, Studies in logic and the foundations of mathematics, volume 103. Elsevier Science Publishers, 1984.

    Google Scholar 

  4. G. Boudol. Some chemical abstract machines. In A Decade of Concurrency — Reflections and Perspectives, Proceedings of the REX School Symposium, LNCS 803, pages 92–123. Springer-Verlag, June 1993.

    Google Scholar 

  5. S. Brock and G. Ostheimer. Process semantics of graph reduction. Technical report, Computer Science Division, University of St. Andrews, 1995.

    Google Scholar 

  6. M. Felleisen and D. Friedman. Control operators, the SECD-machine, and the λ-calculus. In 3rd Working Conference on the Formal Description of Programming Concepts, Ebberup, Denmark, August 1986.

    Google Scholar 

  7. J. Glauert. Asynchronous mobile processes. In Proceedings of PARLE 92, LNCS 605. Springer-Verlag, 1992.

    Google Scholar 

  8. J. Glauert, L. Leth, and B. Thomsen. A new process model for functions. In M. Sleep, M. Plasmeijer, and M. van Eekelen, editors, Term Graph Rewriting: Theory and Practice, chapter 20, pages 269–282. Wiley, 1993.

    Google Scholar 

  9. C. Hankin, G. Burn, and S. Peyton-Jones. A safe approach to parallel combinator reduction (extended abstract). In B. Robinet and R. Wilhelm, editors, Proceedings of ESOP 86, LNCS 213, pages 99–110. Springer-Verlag, 1986.

    Google Scholar 

  10. K. Honda. Two bisimilarities in ν-calculus. Technical Report 92-002, Keio University, 1992.

    Google Scholar 

  11. A. Jeffrey. A chemical abstract machine for graph reduction — extended abstract. In Proceedings of Ninth International Conference on Mathematical Foundations of Programming Semantics, LNCS 802, pages 293–303, 1993.

    Google Scholar 

  12. A. Jeffrey. Fully abstract semantics for concurrent graph reduction. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 82–91. IEEE, 1994.

    Google Scholar 

  13. J. Kennaway and M. Sleep. Expressions as processes. In Proceedings of LISP and Functional Programming, ACM, 1982.

    Google Scholar 

  14. J. Launchbury. A natural semantics for lazy evaluation. In Proceedings of the Conference on Principles of Programming Languages, ACM, 1993.

    Google Scholar 

  15. R. Milner. The polyadic π-calculus: a tutorial. Technical Report ECS-LFCS-91-180., LFCS, Computer Science Department, University of Edinburgh, 1991.

    Google Scholar 

  16. R. Milner. Functions as processes. Mathematical Structures in Computer Science, 2:119–141, 1992.

    Google Scholar 

  17. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, parts I and II. Technical report, LFCS, Computer Science Department, University of Edinburgh, 1989.

    Google Scholar 

  18. G. Ostheimer. Parallel functional computation on STAR:DUST. In Proceedings of the Workshop on the Parallel Implementation of Functional Languages, University of Southampton Technical Report, 1991.

    Google Scholar 

  19. G. Ostheimer and A. Davie. Modelling parallel graph reduction in the π-calculus. In Proceedings of the Fifth International Workshop on Implementation of Functional Languages, University of Nijmegen Technical Report, 1993.

    Google Scholar 

  20. K. R. Traub. Implementation of Non-Strict Functional Programming Languages. MIT Press, 1991.

    Google Scholar 

  21. C. Wadsworth. Semantics and pragmatics of the λ-calculus. PhD thesis, University of Oxford, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Insup Lee Scott A. Smolka

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brock, S., Ostheimer, G. (1995). Process semantics of graph reduction. In: Lee, I., Smolka, S.A. (eds) CONCUR '95: Concurrency Theory. CONCUR 1995. Lecture Notes in Computer Science, vol 962. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60218-6_36

Download citation

  • DOI: https://doi.org/10.1007/3-540-60218-6_36

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60218-7

  • Online ISBN: 978-3-540-44738-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics