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.
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky. The lazy λ-calculus. In D. Turner, editor, Research Topics in Functional Programming, pages 65–117. Addison-Wesley, 1990.
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.
H. Barendregt. The λ-calculus: its syntax and semantics, Studies in logic and the foundations of mathematics, volume 103. Elsevier Science Publishers, 1984.
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.
S. Brock and G. Ostheimer. Process semantics of graph reduction. Technical report, Computer Science Division, University of St. Andrews, 1995.
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.
J. Glauert. Asynchronous mobile processes. In Proceedings of PARLE 92, LNCS 605. Springer-Verlag, 1992.
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.
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.
K. Honda. Two bisimilarities in ν-calculus. Technical Report 92-002, Keio University, 1992.
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.
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.
J. Kennaway and M. Sleep. Expressions as processes. In Proceedings of LISP and Functional Programming, ACM, 1982.
J. Launchbury. A natural semantics for lazy evaluation. In Proceedings of the Conference on Principles of Programming Languages, ACM, 1993.
R. Milner. The polyadic π-calculus: a tutorial. Technical Report ECS-LFCS-91-180., LFCS, Computer Science Department, University of Edinburgh, 1991.
R. Milner. Functions as processes. Mathematical Structures in Computer Science, 2:119–141, 1992.
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.
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.
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.
K. R. Traub. Implementation of Non-Strict Functional Programming Languages. MIT Press, 1991.
C. Wadsworth. Semantics and pragmatics of the λ-calculus. PhD thesis, University of Oxford, 1971.
Author information
Authors and Affiliations
Editor information
Rights 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