Results 1 -
9 of
9
Dactl: An Experimental Graph Rewriting Language
- Proc. 4th International Workshop on Graph Grammars
, 1991
"... This paper gives some examples of how computation in a number of languages may be described as graph rewriting, giving the Dactl notation for the examples shown. It goes on to present the Dactl model more formally before giving a formal definition of the syntax and semantics of the language. 2 Examp ..."
Abstract
-
Cited by 33 (7 self)
- Add to MetaCart
This paper gives some examples of how computation in a number of languages may be described as graph rewriting, giving the Dactl notation for the examples shown. It goes on to present the Dactl model more formally before giving a formal definition of the syntax and semantics of the language. 2 Examples of Computation by Graph Rewriting
Properties of a First-order Functional Language with Sharing
- Theoretical Computer Science
, 1994
"... A calculus and a model for a first-order functional language with sharing is presented. In most implementations of... ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
A calculus and a model for a first-order functional language with sharing is presented. In most implementations of...
A New Process Model for Functions
- Term Graph Rewriting: Theory and Practice, chapter 20
, 1993
"... Machine [Ber90] than a traditional graph reduction machine. 6 Results A translator has been developed which will convert "programs" in an extended -Calculus to the process notation. Several different translations from -Calculus to processes have been implemented. The process networks are converted ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Machine [Ber90] than a traditional graph reduction machine. 6 Results A translator has been developed which will convert "programs" in an extended -Calculus to the process notation. Several different translations from -Calculus to processes have been implemented. The process networks are converted to the sublanguage which makes heavy use of agent definitions. This form is then converted to Dactl. The mapping from process notation to Dactl does not handle non-trivial processes with output guards (only inaction may follow an output guard). This enables us to express the new translation directly, but the ß-Calculus translations of Milner cannot be translated directly. A Form of the Lazy- -Calculus translation modified in a manner inspired by [Hon91] has been produced. The translation is extended to handle constants. This has been called PiLazy: [[x]] u = x!u:() [[k]] u = u?v : v!k:() [[x:M ]] u = u?d: ( d!a:() j a?x: u?v: [[M ]] v )na [[M @L N ]] u = ( [[M ]] v j v!d:() j d?a: (a!t...
Asynchronous mobile processes and graph rewriting
- in PARLE92
, 1992
"... Honda and Tokoro provide a formal system for communicating systems developed from Milner’s π–calculus. Unlike other formalisms, their work is based on asynchronous communication primitives. This paper proposes some minor but practically significant extensions to a model based on asynchronous communi ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Honda and Tokoro provide a formal system for communicating systems developed from Milner’s π–calculus. Unlike other formalisms, their work is based on asynchronous communication primitives. This paper proposes some minor but practically significant extensions to a model based on asynchronous communication and shows how the resulting system may be mapped very directly onto a graph rewriting system. While the model based on asynchronous communication permits the most direct translation, a related model using synchronous communication may be implemented in a similar
Graph Rewriting Systems For Efficient Compilation
, 1993
"... This paper is based on the PhD thesis of Zena M. Ariola [Ari92] where complete proofs and more examples with explanations may be found. 6.2 SYNTAX OF GRS ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
This paper is based on the PhD thesis of Zena M. Ariola [Ari92] where complete proofs and more examples with explanations may be found. 6.2 SYNTAX OF GRS
Graph-based Operational Semantics of a Lazy Functional Language
- Term Graph Rewriting: Theory and Practice, chapter 22
"... Machine [Car83], the G-machine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are dir ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Machine [Car83], the G-machine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are directly executable. However, they are often not very readable since all the details of the implementation have to be present in the specification. On the other hand, the idea has also been used in attempts to build models of functional languages and to prove properties of such models directly. Again starting from [Wad71] such attempts are naturally focused on models of the -calculus---a 2 We will use the traditional word "redex" (reducible expression) rather than some abbreviation of "reducible subgraph" even though we will always refer to the latter. GRAPH-BASED OPERATIONAL SEMANTICS OF A LAZY FUNCTIONAL LANGUAGE 239 rather large are of research, so we will just mention [Sta78] and [Lam90...
Implementing Concurrent Logic and Functional Languages in Dactl
- Journal of Programming Languages
, 1997
"... this paper we try to bridge the gap between the two formalisms by showing how concurrent logic languages can be implemented using graph rewriting. In particular, we develop techniques for mapping a wide class of CLLs including Parlog, GHC, Strand, Janus and a restricted subset of the Concurrent Prol ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
this paper we try to bridge the gap between the two formalisms by showing how concurrent logic languages can be implemented using graph rewriting. In particular, we develop techniques for mapping a wide class of CLLs including Parlog, GHC, Strand, Janus and a restricted subset of the Concurrent Prolog family onto Dactl, a compiler target language based on graph rewriting. We discuss the problems found in the process and the adopted solutions. The paper contributes to related research by: # examining the potential of graph reduction as a suitable model for implementing CLLs in terms of expressiveness and efficiency
DACTL Rewriting is Categorical
, 1991
"... The graph-manipulating core of the general term graph rewriting language DACTL, namely contraction building and redirection, is reexamined from a categorical viewpoint. The essentials of this rather complex two-phase operational semantics is recast as a Grothendieck opfibration of a category of grap ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The graph-manipulating core of the general term graph rewriting language DACTL, namely contraction building and redirection, is reexamined from a categorical viewpoint. The essentials of this rather complex two-phase operational semantics is recast as a Grothendieck opfibration of a category of graph rewrites over a base of rewrite rules. This generalises previous attempts to categorise contractum building and redirection as pushouts and is able to describe more DACTL rewrites than pushout models. The full operational core model conforms to a more restricted version of this construction and is able to successfully cope with examples such as the infamous circular I example a : I[ a ]. 1 INTRODUCTION The general term graph rewriting language DACTL arose as an attempt to provide an intermediate language for graph rewriting based implementations of contemporary programming paradigms such as functional or logic. It features multiple parallel redirections as the chief updating mechanism for...
A Fibration Semantics for Extended Term Graph Rewriting
, 1993
"... ED In this section, we define the free rewriting core of DACTL rewriting, i.e. we ignore all issues pertaining both to markings, and (for simplicity) the pattern calculus. In addition, our terminology may appear a little unusual to those familiar with DACTL. Suppose an alphabet of node symbols S = ..."
Abstract
- Add to MetaCart
ED In this section, we define the free rewriting core of DACTL rewriting, i.e. we ignore all issues pertaining both to markings, and (for simplicity) the pattern calculus. In addition, our terminology may appear a little unusual to those familiar with DACTL. Suppose an alphabet of node symbols S = fS; T : : :g to be given. Definition 7.2.1 A term graph (or just graph) G, is a triple (N; oe; ff) where (1) N is a set of nodes, (2) oe is a map N ! S, (3) ff is a map N ! N , Thus oe(x) maps a node to the node symbol that labels it, and ff(x) maps each node to its sequence of successors. We write A(x), the arity of a node, for the domain of ff(x). Note that A(x) is a set of consecutive natural members starting at 1, or empty. We allow ourselves to write x 2 G (instead of x 2 N(G)) etc. Each successor node determines an arc of the graph, and we will refer to arcs using the notation (p k ; c), to indicate that the child c is the k th child of the parent p, i.e. that c = ff(x)[k] f...

