Skip to main content

Implementing term rewrite languages in Dactl

  • Rewriting
  • Conference paper
  • First Online:
CAAP '88 (CAAP 1988)

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

Included in the following conference series:

Abstract

Dactl is a low-level language of graph rewriting, intended for programming highly parallel machines. The language includes, but is not restricted to, the limited form of graph rewriting which is commonly used to implement functional languages such as Miranda, ML, Hope, and Clean. In contrast to these functional languages, where the order in which subterms are evaluate (the evaluation strategy) is fixed for all programs, in Dactl the evaluation strategy is programmed explicitly. We define a translation of a functional language into Dactl, describe the problems encountered and their solution, and outline a proof that the translation is correct.

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. Backus, J. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Comm. A.C.M., 21, 613–641, (1978).

    Google Scholar 

  2. Barendregt, H.P. The Lambda Calculus. (North-Holland, 1984)

    Google Scholar 

  3. Barendregt, H.P., van Eekelen, M.C.J.D., Glauert, J.R.W., Kennaway, J.R., Plasmeijer, M.J., and Sleep, M.R. Term Graph Rewriting. Proc. PARLE Conference, Lecture Notes in Computer Science 259, 141–158, (Springer, 1987).

    Google Scholar 

  4. Bergstra, J.A., and Klop, J.W. Conditional rewrite rules: confluency and termination. Report IW 198/82, Stichting Mathematisch Centrum, Amsterdam, 1982.

    Google Scholar 

  5. Berry, Stable models of typed lambda-calculi, in Proc. 5th Int. Conf. on Automata, Languages, and Programming, eds. G. Ausiello and C Böhm. Lecture Notes in Computer Science 62 (Springer, 1978).

    Google Scholar 

  6. Brus, T.H., van Eekelen, M.C.J.D., van Leer, M.O., and Plasmeijer, M.J. Clean: a language for functional graph rewriting. Internal report 95, Computing Science Department, University of Nijmegen, (1987).

    Google Scholar 

  7. Burstall, R.M., MacQueen, D.B., and Sannella, D.T. HOPE: an experimental applicative language. Report CSR-62-80, Department of Computer Science, University of Edinburgh, (1980).

    Google Scholar 

  8. Glauert, J.R.W., Kennaway, J.R., and Sleep, M.R. Dactl: a computational model and compiler target language. University of East Anglia, (1987).

    Google Scholar 

  9. Glauert, J.R.W., Kennaway, J.R., Sleep, M.R., Holt, N., Reeve, M., and Watson, I. Specification of Core Dactl1. University of East Anglia, (1987).

    Google Scholar 

  10. Glauert, J.R.W., Kennaway, J.R., Sleep, M.R., Holt, N., Reeve, M., and Watson, I. Dactl Language Specification. University of East Anglia, (to appear, 1987).

    Google Scholar 

  11. Huet, G, and Lévy, J.J. Call by need computations in non-ambiguous term rewriting systems. Report 359, IRIA, (1979).

    Google Scholar 

  12. Huet, G. and Oppen, Equations and rewrite rules: a survey. Report CSL-111, SRI International, (1980).

    Google Scholar 

  13. Laville, A. Lazy pattern-matching in the ML language. Report 664, INRIA, (1987).

    Google Scholar 

  14. Milner, R. A proposal for standard ML, in Proc. ACM Conf. on Lisp and Functional Programming, 184–197, (1984)

    Google Scholar 

  15. Peyton-Jones, S.L. The Implementation of Functional Programming Languages. (Prentice-Hall, 1987).

    Google Scholar 

  16. Turner, D.A. Miranda: a non-strict language with polymorphic types. in Proc. Conf. on Functional Programming Languages and Computer Architecture, ed. J.P. Jouannaud, Lecture Notes in Computer Science 201, (Springer, 1985).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

M. Dauchet M. Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kennaway, J.R. (1988). Implementing term rewrite languages in Dactl. In: Dauchet, M., Nivat, M. (eds) CAAP '88. CAAP 1988. Lecture Notes in Computer Science, vol 299. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026099

Download citation

  • DOI: https://doi.org/10.1007/BFb0026099

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19021-9

  • Online ISBN: 978-3-540-38930-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics