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.
Preview
Unable to display preview. Download preview PDF.
References
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).
Barendregt, H.P. The Lambda Calculus. (North-Holland, 1984)
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).
Bergstra, J.A., and Klop, J.W. Conditional rewrite rules: confluency and termination. Report IW 198/82, Stichting Mathematisch Centrum, Amsterdam, 1982.
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).
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).
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).
Glauert, J.R.W., Kennaway, J.R., and Sleep, M.R. Dactl: a computational model and compiler target language. University of East Anglia, (1987).
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).
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).
Huet, G, and Lévy, J.J. Call by need computations in non-ambiguous term rewriting systems. Report 359, IRIA, (1979).
Huet, G. and Oppen, Equations and rewrite rules: a survey. Report CSL-111, SRI International, (1980).
Laville, A. Lazy pattern-matching in the ML language. Report 664, INRIA, (1987).
Milner, R. A proposal for standard ML, in Proc. ACM Conf. on Lisp and Functional Programming, 184–197, (1984)
Peyton-Jones, S.L. The Implementation of Functional Programming Languages. (Prentice-Hall, 1987).
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).
Author information
Authors and Affiliations
Editor information
Rights 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