Skip to main content

Term graph rewriting

  • Conference paper
  • First Online:
PARLE Parallel Architectures and Languages Europe (PARLE 1987)

Abstract

Graph rewriting (also called reduction) as defined in Wadsworth [1971] was introduced in order to be able to give a more efficient implementation of functional programming languages in the form of lambda calculus or term rewrite systems: identical subterms are shared using pointers.

Several other authors, e.g. Ehrig [1979], Staples [1980a,b,c], Raoult [1984] and van den Broek et al. [1986] have given mathematical descriptions of graph rewriting, usually employing concepts from category theory. These papers prove among other things the correctness of graph rewriting in the form of the Church-Rosser property for “well-behaved” (i.e. regular) rewrite systems. However, only Staples has formally studied the soundness and completeness of graph rewriting with respect to term rewriting.

In this paper we give a direct operational description of graph rewriting that avoids the category theoretic notions. We show that if a term t is interpreted as a graph g(t) and is reduced in the graph world, then the result represents an actual reduct of the original term t(soundness). For weakly regular term rewrite systems, there is also a completeness result: every normal form of a term t can be obtained from the graphical implementation. We also show completeness for all term rewrite systems which possess a so called hypernormalising strategy, and in that case the strategy also gives a normalising strategy for the graphical implementation.

Besides having nice theoretical properties, weakly regular systems offer opportunities for parallelism, since redexes at different places can be executed independently or in parallel, without affecting the final result.

Partially supported by the Dutch Parallel Reduction Machine Project.

Partially supported by the U.K. ALVEY Project.

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

  • Barendregt, H.P. [1984] The Lambda Calculus: its Syntax and Semantics (revised edition), North-Holland, Amsterdam.

    Google Scholar 

  • Barendregt, H.P., M.C.J.D. van Eekelen, J.R.W. Glauert, J.R. Kennaway, M.J. Plasmeijer and M.R. Sleep [1986] Term graph rewriting, Report 87, Department of Computer Science, University of Nijmegen, and also as Report SYS-C87-01, School of Information Systems, University of East Anglia.

    Google Scholar 

  • [1987] Towards an intermediate language based on graph rewriting, these proceedings.

    Google Scholar 

  • van den Broek, P.M. and G.F. van der Hoeven [1986] Combinatorgraph reduction and the Church-Rosser theorem, preprint INF-86-15, Department of Informatics, Twente University of Technology.

    Google Scholar 

  • Ehrig, H. [1979] Introduction to the algebraic theory of graph grammars, in: Graph grammars and their Applications in Computer Science and Biology, ed. V. Claus, H. Ehrig, and G. Rozenberg. Lecture notes in Computer Science 73, Springer, Berlin, 1–69.

    Google Scholar 

  • Glauert, J.R.W., J.R. Kennaway and M.R. Sleep [1987] Category theoretic concepts of graph rewriting and garbage collection, in preparation, School of Information Systems, University of East Anglia.

    Google Scholar 

  • Huet, G. and Lévy, J.J. [1979] Call-by-need computations in non-ambiguous term rewriting systems, Report 359, IRIA-Laboria, B.P. 105, 78150 Le Chesney, France.

    Google Scholar 

  • Kennaway, J.R. [1984] An outline of some results of Staples on optimal reduction orders in replacement systems, Report CSA/19/1984, School of Information Systems, University of East Anglia, Norwich, England.

    Google Scholar 

  • Klop, J.W. [1980] Combinatory Reduction Systems, Mathematical Centre Tracts n.127, Mathematical Centre, Kruislaan 413, 1098 SJ Amsterdam.

    Google Scholar 

  • Raoult, J.C. [1984] On graph rewritings, Theor. Comput. Sci. 32, 1–24.

    Article  Google Scholar 

  • Peyton Jones, S.L. [1987] The Implementation of Functional Languages, Prentice-Hall, London, to appear.

    Google Scholar 

  • Staples, J. [1980a] Computation on graph-like expressions, Theor. Comput. Sci. 10, 171–185.

    Article  Google Scholar 

  • [1980b] Optimal evaluations of graph-like expressions, Theor. Comput. Sci. 10, 297–316.

    Article  Google Scholar 

  • [1980c] Speeding up subtree replacement systems, Theor. Comput. Sci. 11, 39–47.

    Article  Google Scholar 

  • Turner, D.A. [1979a] A new implementation technique for applicative languages, in: Software: Practice and Experience 9, 31–49.

    Google Scholar 

  • [1979b] SASL Language Manual, “combinators” version, University of St. Andrews, U.K.

    Google Scholar 

  • [1986] Miranda System Manual, Research Software Ltd., 1986.

    Google Scholar 

  • Wadsworth, C.P. [1971] Semantics and Pragmatics of the Lambda Calculus, D.Phil. thesis, Programming Research Group, Oxford University.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barendregt, H.P., van Eekelen, M.C.J.D., Glauert, J.R.W., Kennaway, J.R., Plasmeijer, M.J., Sleep, M.R. (1987). Term graph rewriting. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 259. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17945-3_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-17945-3_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17945-0

  • Online ISBN: 978-3-540-47181-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics