Dactl: An experimental graph rewriting language

  • J. R. W. Glauert
  • J. R. Kennaway
  • M. R. Sleep
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 532)


Dactl is an experimental language programming language based on fine grain graph transformations. It was developed in the context of a large parallel reduction machine project. The design of the language is outlined, and examples given of its use both as a compiler target language and as a programming language. Dactl has a formal semantics and stable implementations on a number of platforms.


Dactl graph rewriting computational model parallel architecture reduction machine compiler target language declarative language categorical semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8 References

  1. [Bar87]
    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,, 259, 141–158, 1987.Google Scholar
  2. [Bar89]
    Barendregt, H.P., van Eekelen, M.C.J.D., Glauert, J.R.W., Kennaway, J.R., Plasmeijer, M.J., and Sleep, M.R., “Lean: An Intermediate Language Based on Graph Rewriting” Parallel Computing, 9, 163–177, 1989.CrossRefMathSciNetGoogle Scholar
  3. [BEG87]
    Baeten J.C.M., Bergstra J.A. and Klop J.W., “Term Rewriting Systems with Priorities”, Rewriting Techniques and Applications, Bordeaux, France,, 257, 83–94, 1987.Google Scholar
  4. [Der89]
    Dershowitz, N., and Jouannaud, J.P., “Rewrite Systems”, Chap. 15. in Handbook of Theoretical Computer Science, B, North-Holland, 1989.Google Scholar
  5. [Eek86]
    van Eekelen, M.C.J.D. and Plasmeijer, M.J., “Specification of reduction strategies in term rewriting systems”, in Proc. Workshop on Graph Reduction,, 279, 215–239, 1986.Google Scholar
  6. [Ehr79]
    Ehrig H, “Tutorial introduction to the algebraic approach of graph grammars”, in, 73, 83–94, 1979.Google Scholar
  7. [Ehr89]
    Ehrig, H., and Löwe, M., (eds), “GRA GRA: Computing by Graph Transformation. ESPRIT Basic Research Working Group 3299”. Report no. 89/14, Technische Universität Berlin, Fachbereich 20, Informatik, Franklinstraße 28/29, D-1000 Berlin 10, 1989.Google Scholar
  8. [Far90]
    Farmer, W.M., Ramsdell, J.D., and Watro, R.J., “A correctness proof for combinator reduction with cycles”, ACM TOPLAS, 12, 123–134, 1990.CrossRefGoogle Scholar
  9. [Gla88a]
    Glauert, J.R.W., Hammond, K., Kennaway, J.R., and Papadopoulos, G.A., “Using Dactl to Implement Declarative Languages”, Proc. CONPAR 88, 1988.Google Scholar
  10. [Gla88b]
    Glauert, J.R.W., and Papadopoulos, G.A., “A Parallel Implementation of GHC”, Proc. International Conference on Fifth Generation Computer Systems 1988. ICOT, Tokyo, 1988.Google Scholar
  11. [Gla88c]
    Glauert, J.R.W., Kennaway, J.R., Sleep, M.R., and Somner, G.W., “Final Specification of Dactl”, Report SYS-C88-11, School of Information Systems, University of East Anglia, Norwich, U.K., 1988.Google Scholar
  12. [Gre87]
    Gregory, S., “Parallel Logic Programming in PARLOG — The Language and its Implementation”, Addison-Wesley, London, 1987.Google Scholar
  13. [Ham88]
    Hammond, K., and Papadopoulos, G.A., “Parallel Implementations of Declarative Languages based on Graph Rewriting” UK IT 88 (“Alvey”) Conference Publication, IEE, 1988.Google Scholar
  14. [HO82]
    Hoffmann C. and O'Donnell M.J., “Programming with equations”, ACM Transactions on Programming Languages and Systems, 83–112, 1982.Google Scholar
  15. [Hof88]
    Hoffmann, B., and Plump, D., “Jungle Evaluation for Efficient Term Rewriting”, Proc. Joint Workshop on Algebraic and Logic Programming, Mathematical Research, 49, 191–203, Akademie-Verlag, Berlin, 1988.Google Scholar
  16. [Ken85]
    Kennaway, J.R. and Sleep, M.R. Syntax and informal semantics of DyNe. in The Analysis of Concurrent Systems, LNCS Lecture Notes in Computer Science (pub. Springer-Verlag), 207, 1985.Google Scholar
  17. [Ken87]
    Kennaway, J.R., “On ‘On graph rewritings'”, Theor. Comp. Sci., 52, 37–58, 1987CrossRefGoogle Scholar
  18. [Ken88]
    Kennaway, J.R., “The correctness of an implementation of functional Dactl by parallel rewriting”, UK IT 88 (“Alvey”) Conference Publication, IEE, 1988.Google Scholar
  19. [Ken90a]
    Kennaway, J.R., “Implementing Term Rewrite Languages in Dactl”, Theor. Comp. Sci., 72, 225–250, 1990.CrossRefGoogle Scholar
  20. [Ken90b]
    Kennaway, J.R., “Graph rewriting in a category of partial morphisms”, these proceedings, 1990.Google Scholar
  21. [Ken90c]
    Kennaway, J.R., “The specificity rule for lazy pattern-matching in ambiguous term rewrite systems”, Third European Symposium on Programming, 432, pp 256–270, 1990.Google Scholar
  22. [Klo90]
    Klop, J.W., “Term rewriting systems”, Chap. 6. in Handbook of Logic in Computer Science, 1, (eds. Abramsky, S., Gabbay, D., and Maibaum, T.), Oxford University Press, 1990.Google Scholar
  23. [Laf89]
    Lafont. Y, “Interaction Nets”, LIENS report, Paris, 1989 (also Proc. ACM Symposium on Principles of Programming Languages, 1990).Google Scholar
  24. [Lav87]
    Laville, A., “Lazy pattern matching in the ML language”, Report 664, INRIA, 1987.Google Scholar
  25. [McB87]
    McBurney, D.L., and Sleep, M.R., “Transputer-based experiments with the ZAPP architecture”, Proc. PARLE conference,, 258, 242–259, 1987.Google Scholar
  26. [Pap89]
    Papadopoulos, G.A., “Parallel Implementation of Concurrent Logic Languages Using Graph Rewriting Techniques”, Ph.D. Thesis, University of East Anglia, UK, 1989.Google Scholar
  27. [Rao84]
    Raoult, J.C., “On graph rewritings”, Theor. Comp. Sci., 32, 1–24, 1984.CrossRefGoogle Scholar
  28. [Ros72]
    Rosenfeld A and Milgram D.L., “Web automata and web grammars”, Machine Intelligence 7 (1972), 307–324, 1972.Google Scholar
  29. [Sch24]
    Schönfinkel, M., “Über die Bausteine der mathematischen Logik”, Math. Annalen, 92, 305–316, 1924.CrossRefGoogle Scholar
  30. [Sha86]
    Shapiro, E.Y., “Concurrent Prolog: A Progress Report”, Fundamentals of Artificial Intelligence — An Advanced Course, LNCS Lecture Notes in Computer Science (pub. Springer-Verlag), 232, 1986.Google Scholar
  31. [Sta80a]
    Staples, J., “Computation on graph-like expressions”, Theor. Comp. Sci., 10, 171–185, 1980.CrossRefGoogle Scholar
  32. [Sta80b]
    Staples, J., “Optimal evaluations of graph-like expressions”, Theor. Comp. Sci., 10, 297–316, 1980.CrossRefGoogle Scholar
  33. [Tur79]
    Turner, D.A., “A new implementation technique for applicative languages”, Software: Practice and Experience, 9, 31–49, 1979.Google Scholar
  34. [Wad71]
    Wadsworth, C.P., Semantics and pragmatics of the lambda-calculus, Ph.D. thesis, University of Oxford, 1971.Google Scholar
  35. [Wat87]
    Watson, I, Sargeant, J., Watson, P., and Woods, V., “Flagship computational models and machine architecture”, ICL Technical Journal, 5, 555–594, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • J. R. W. Glauert
    • 1
  • J. R. Kennaway
    • 1
  • M. R. Sleep
    • 1
  1. 1.Declarative Systems Project, School of Information SystemsUniversity of East AngliaNorwichU.K.

Personalised recommendations