Advertisement

A chemical abstract machine for graph reduction extended abstract

  • Alan Jeffrey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 802)

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.

Keywords

Operational Semantic Garbage Collection Reduction Rule Graph Reduction Lambda Calculus 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramsky, S. (1989). The lazy lambda calculus. In Turner, D., editor, Declarative Programming. Addison-Wesley.Google Scholar
  2. Augustsson, L. (1984). A compiler for lazy ML. In Proc. ACM Symp. Lisp and Functional Programming, pages 218–227.Google Scholar
  3. Barendregt, H. (1984). The Lambda Calculus. North-Holland. Studies in logic 103.Google Scholar
  4. 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.Google Scholar
  5. Berry, G. and Boudol, G. (1990). The chemical abstract machine. In Proc. 17th Ann. Symp. Principles of Programming Languages.Google Scholar
  6. Boudol, G. (1992). Asynchrony and the pi-calculus. INRIA Sophia-Antipolis.Google Scholar
  7. Church, A. (1941). The Calculi of Lambda Conversion. Princeton University Press.Google Scholar
  8. Hughes, R. J. M. (1984). The Design and Implementation of Programming Languages. D.Phil thesis, Oxford University.Google Scholar
  9. Jeffrey, A. (1992). A chemical abstract machine for graph reduction. Technical report 3/92, University of Sussex.Google Scholar
  10. Johnnson, T. (1984). Effecient compilation of lazy evaluation. In Proc.Sigplan 84 Symp.Compiler Construction, pages 58–69.Google Scholar
  11. Jones, M. (1992). The Gofer technical manual. Part of the Gofer distribution.Google Scholar
  12. Lester, D. (1989). Combinator Graph Reduction: A Congruence and its Applications. D.Phil thesis, Oxford University.Google Scholar
  13. Mccarthy, J., Abrahams, P. W., Edwards, D. J., Hart, T. P., and Levin, M. I. (1962). The Lisp 1.5 Programmers Kit. MIT Press.Google Scholar
  14. Milner, R. (1989). Communication and Concurrency. Prentice-Hall.Google Scholar
  15. Milner, R. (1991). The polyadic π-calculus: a tutorial. In Proc. International Summer School on Logic and Algebra of Specification, Marktoberdorf.Google Scholar
  16. Milner, R. (1992). Functions as processes. Math. Struct. in Comput. Science, 2:119–141.Google Scholar
  17. 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.Google Scholar
  18. Peyton Jones, S. (1987). The Implementation of Functional Programming Languages. Prentice-Hall.Google Scholar
  19. Sangiorgi, D. (1991). The lazy lambda calculus in a concurrency scenario. Technical Report ECS-LFCS-91-189, LFCS, Edinburgh University.Google Scholar
  20. 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.Google Scholar
  21. 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.Google Scholar
  22. Wadsworth, C. P. (1971). Semantics and Pragmatics of the Lambda Calculus. D.Phil thesis, Oxford University.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Alan Jeffrey
    • 1
  1. 1.COGS, Univ. of SussexBrightonUK

Personalised recommendations