Abstract
Graph reduction is an implementation technique for the lazy λ-calculus. It has been used to implement many non-strict functional languages, such as lazy ml, Gofer and Miranda. Parallel graph reduction allows for concurrent evaluation. In this paper, we present parallel graph reduction as a Chemical Abstract Machine, and show that the resulting testing semantics is adequate wrt testing equivalence for the lazy λ - calculus. We also present a π-calculus implementation of the graph reduction machine, and show that the resulting testing semantics is also adequate.
This work was supported by SERC project GR/H 16537. Miranda is a trademark of Research Software Limited.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abramsky, S. (1989). The lazy lambda calculus. In Turner, D., editor, Declarative Programming. Addison-Wesley.
Augustsson, L. (1984). A compiler for lazy ML. In Proc. ACM Symp. Lisp and Functional Programming, pages 218–227.
Barendregt, H. (1984). The Lambda Calculus. North-Holland. Studies in logic 103.
Barendregt, H. P., Van Eekelen, M. C. J. D., Glauert, J. R. W., Kennaway, J. R., Plasmeijer, M. J., and Sleep, M. R. (1987). Term graph rewriting. In Proc. PARLE 87, volume 2, pages 141–158. Springer-Verlag. LNCS 259.
Berry, G. and Boudol, G. (1990). The chemical abstract machine. In Proc. 17th Ann. Symp. Principles of Programming Languages.
Boudol, G. (1992). Asynchrony and the pi-calculus. INRIA Sophia-Antipolis.
Church, A. (1941). The Calculi of Lambda Conversion. Princeton University Press.
Hughes, R. J. M. (1984). The Design and Implementation of Programming Languages. D.Phil thesis, Oxford University.
Jeffrey, A. (1992). A chemical abstract machine for graph reduction. Technical report 3/92, University of Sussex.
Johnnson, T. (1984). Effecient compilation of lazy evaluation. In Proc.Sigplan 84 Symp.Compiler Construction, pages 58–69.
Jones, M. (1992). The Gofer technical manual. Part of the Gofer distribution.
Lester, D. (1989). Combinator Graph Reduction: A Congruence and its Applications. D.Phil thesis, Oxford University.
Mccarthy, J., Abrahams, P. W., Edwards, D. J., Hart, T. P., and Levin, M. I. (1962). The Lisp 1.5 Programmers Kit. MIT Press.
Milner, R. (1989). Communication and Concurrency. Prentice-Hall.
Milner, R. (1991). The polyadic π-calculus: a tutorial. In Proc. International Summer School on Logic and Algebra of Specification, Marktoberdorf.
Milner, R. (1992). Functions as processes. Math. Struct. in Comput. Science, 2:119–141.
Milner, R., Parrow, J., and Walker, D. (1989). A calculus of mobile processes. Technical reports ECS-LFCS-89-86 and-87, LFCS, University of Edinburgh.
Peyton Jones, S. (1987). The Implementation of Functional Programming Languages. Prentice-Hall.
Sangiorgi, D. (1991). The lazy lambda calculus in a concurrency scenario. Technical Report ECS-LFCS-91-189, LFCS, Edinburgh University.
Stoye, W. R., Clarke, T. J. W., and Norman, A. C. (1984). Some practical methods for rapid combinator reduction. In Proc. ACM Symp. Lisp and Functional Programming, pages 159–166.
Turner, D. (1985). Miranda: A non-strict functional language with polymorphic types. In Proc. IFIP Conf. Functional Programming Languages and Computer Architecture. Springer-Verlag. LNCS 201.
Wadsworth, C. P. (1971). Semantics and Pragmatics of the Lambda Calculus. D.Phil thesis, Oxford University.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jeffrey, A. (1994). A chemical abstract machine for graph reduction extended abstract. In: Brookes, S., Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Semantics. MFPS 1993. Lecture Notes in Computer Science, vol 802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58027-1_14
Download citation
DOI: https://doi.org/10.1007/3-540-58027-1_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58027-0
Online ISBN: 978-3-540-48419-6
eBook Packages: Springer Book Archive