An abstract view on syntax with sharing
نویسنده
چکیده
The notion of term graph encodes a refinement of inductively generated syntax in which regard is paid to the the sharing and discard of subterms. Inductively generated syntax has an abstract expression in terms of initial algebras for certain endofunctors on the category of sets, which permits one to go beyond the set-based case, and speak of inductively generated syntax in other settings. In this paper we give a similar abstract expression to the notion of term graph. Aspects of the concrete theory are redeveloped in this setting, and applications beyond the realm of sets discussed.
منابع مشابه
On Generic Context Lemmas for Lambda Calculi with Sharing
This paper proves several generic variants of context lemmas and thus contributes to improving the tools for observational semantics of deterministic and non-deterministic higher-order calculi that use a small-step reduction semantics. The generic (sharing) context lemmas are provided for mayas well as two variants of must-convergence, which hold in a broad class of extended processand extended...
متن کاملInitial Algebra Semantics for Cyclic Sharing Structures
syntax Set ADJ 1975 S-sorted abstract syntax Set Robinson 1994 Abstract syntax with binding SetF Fiore,Plotkin,Turi 1999 Recursive path ordring LO R. Hasegawa 2002 S-sorted 2nd-order abs. syn. (SetF↓S)S Fiore 2003 2nd-order rewriting systems PreF Hamana 2005 Explicit substitutions [Set,Set]f Ghani,Uustalu,Hamana 2006 Cyclic sharing structures (SetT ∗ )T Hamana 2009
متن کاملGenerator of efficient strongly typed abstract syntax trees in Java
Abstract syntax trees are a very common data-structure in language related tools. For example compilers, interpreters, documentation generators, and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. We present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generat...
متن کاملA generator of efficient strongly typed abstract syntax trees in Java
Abstract syntax trees are a very common data-structure in language related tools. For example compilers, interpreters, documentation generators, and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. We present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generat...
متن کاملA Fully Abstract Semantics for Concurrent Graph Reduction
This paper presents a fully abstract semantics for a variant of the untyped λ-calculus with recursive declarations. We first present a summary of existing work on full abstraction for the untyped λ-calculus, concentrating on ABRAMSKY and ONG’s work on the lazy λ-calculus. ABRAMSKY and ONG’s work is based on leftmost outermost reduction without sharing. This is notably inefficient, and many impl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Log. Comput.
دوره 22 شماره
صفحات -
تاریخ انتشار 2012