Dactl: an experimental graph rewriting language

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.

[1]  M. Schönfinkel Über die Bausteine der mathematischen Logik , 1924 .

[2]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[3]  John Staples,et al.  Computation on Graph-Like Expressions , 1980, Theor. Comput. Sci..

[4]  John Staples,et al.  Optimal Evaluations of Graph-Like Expressions , 1980, Theor. Comput. Sci..

[5]  Christoph M. Hoffmann,et al.  Programming with Equations , 1982, TOPL.

[6]  Richard Kennaway,et al.  Syntax and informal semantics of DyNe, a parallel language , 1983, The Analysis of Concurrent Systems.

[7]  Marko C. J. D. van Eekelen,et al.  Specification of reduction strategies in term rewriting systems , 1986, Graph Reduction.

[8]  Ehud Shapiro Concurrent Prolog: A Progress Report , 1986, Computer.

[9]  Hartmut Ehrig,et al.  Tutorial introduction to the algebraic approach of graph grammars , 1986, Graph-Grammars and Their Application to Computer Science.

[10]  Paul Watson,et al.  Dealing with state on FLAGSHIP: The MONSTR computational model , 1987 .

[11]  Jan A. Bergstra,et al.  Term Rewriting Systems with Priorities , 1987, RTA.

[12]  Paul Watson,et al.  Flagship Computational Models and Machine Architecture , 1987 .

[13]  Steve Gregory,et al.  Parallel logic programming in PARLOG - the language and its implementation , 1987 .

[14]  Marko C. J. D. van Eekelen,et al.  Term Graph Rewriting , 1987, PARLE.

[15]  Richard Kennaway On "On Graph Rewritings" , 1987, Theor. Comput. Sci..

[16]  Alain Laville Lazy pattern matching in the ML language , 1987, FSTTCS.

[17]  M. Ronan Sleep,et al.  Transputer-Based Experiments with the ZAPP Architecture , 1987, PARLE.

[18]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[19]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[20]  George Angelos Papadopoulos,et al.  A Parallel Implementation of GHC , 1988, FGCS.

[21]  Greg Michaelson,et al.  Parallel Logic Programming in parlog: the Language and its Implementation by Steve Gregory: Published by Addison-Wesley, 217pp. £17.95 , 1988 .

[22]  Paul Watson,et al.  Flagship: a parallel architecture for declarative programming , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[23]  Berthold Hoffmann,et al.  Jungle Evaluation for Efficient Term Rewriting , 1988, ALP.

[24]  Yves Lafont,et al.  Interaction nets , 1989, POPL '90.

[25]  Ehud Shapiro,et al.  The family of concurrent logic programming languages , 1989, CSUR.

[26]  Simon L. Peyton Jones,et al.  The spineless tagless G-machine , 1989, FPCA.

[27]  George Angelos Papadopoulos Parallel implementation of concurrent logic languages using graph rewriting techniques , 1989 .

[28]  J. R. Kennaway,et al.  Using DACTL to implement declarative languages , 1989 .

[29]  Marko C. J. D. van Eekelen,et al.  LEAN: an intermediate language based on graph rewriting , 1989, Parallel Comput..

[30]  William M. Farmer,et al.  A correctness proof for combinator reduction with cycles , 1990, TOPL.

[31]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[32]  Richard Kennaway,et al.  Implementing Term Rewrite Languages in Dactl , 1990, Theor. Comput. Sci..

[33]  Richard Kennaway The Specificity Rule for Lazy Pattern-Matching in Ambiguous Term Rewrite Systems , 1990, ESOP.

[34]  Richard Kennaway,et al.  Graph Rewriting in Some Categories of Partial Morphisms , 1990, Graph-Grammars and Their Application to Computer Science.

[35]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[36]  Kevin Hammond Parallel SML: A functional language and its implementation in Dactl , 1991 .

[37]  John R. W. Glauert,et al.  Asynchronous Mobile Processes and Graph Rewriting , 1992, PARLE.

[38]  J. Glauert,et al.  A new process model for functions , 1993 .

[39]  R. Banach MONSTR: term graph rewriting for parallel machines , 1993 .

[40]  Jacques Cohen,et al.  Concurrent object-oriented programming , 1993, CACM.

[41]  M. J. Plasmeijer,et al.  Term graph rewriting: theory and practice , 1993 .

[42]  George Angelos Papadopoulos,et al.  Concurrent object-oriented programming using term graph rewriting techniques , 1996, Inf. Softw. Technol..

[43]  Richard Banach,et al.  A study of two graph rewriting formalisms: Interaction Nets and MONSTR , 1997, J. Program. Lang..

[44]  George A. Papadopoulos,et al.  Object-Oriented Term Graph Rewriting , 1997 .

[45]  George Angelos Papadopoulos,et al.  Implementing concurrent logic and functional languages in Dactl , 1997, J. Program. Lang..

[46]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.