Results 1 -
8 of
8
An Algebraic Presentation of Term Graphs, via GS-Monoidal Categories
- Applied Categorical Structures
, 1999
"... . We present a categorical characterisation of term graphs (i.e., finite, directed acyclic graphs labeled over a signature) that parallels the well-known characterisation of terms as arrows of the algebraic theory of a given signature (i.e., the free Cartesian category generated by it). In particula ..."
Abstract
-
Cited by 31 (22 self)
- Add to MetaCart
. We present a categorical characterisation of term graphs (i.e., finite, directed acyclic graphs labeled over a signature) that parallels the well-known characterisation of terms as arrows of the algebraic theory of a given signature (i.e., the free Cartesian category generated by it). In particular, we show that term graphs over a signature \Sigma are one-to-one with the arrows of the free gs-monoidal category generated by \Sigma. Such a category satisfies all the axioms for Cartesian categories but for the naturality of two transformations (the discharger ! and the duplicator r), providing in this way an abstract and clear relationship between terms and term graphs. In particular, the absence of the naturality of r and ! has a precise interpretation in terms of explicit sharing and of loss of implicit garbage collection, respectively. Keywords: algebraic theories, directed acyclic graphs, gs-monoidal categories, symmetric monoidal categories, term graphs. Mathematical Subject Clas...
Axiomatic Rewriting Theory I - A Diagrammatic Standardization Theorem
, 2001
"... Machine translation ## -calculus interpretation ## -calculus Formally, the -calculus contains two classes of objects: terms and substitutions. Terms are written in the de Bruijn notation. ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Machine translation ## -calculus interpretation ## -calculus Formally, the -calculus contains two classes of objects: terms and substitutions. Terms are written in the de Bruijn notation.
Aspect Oriented Programming: a language for 2-categories
"... Aspect-Oriented Programming (AOP) started ten years ago with the remark that modularization of so-called crosscutting functionalities is a fundamental problem for the engineering of large-scale applications. Originating at Xerox PARC, this observation has sparked the development of a new style of pr ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Aspect-Oriented Programming (AOP) started ten years ago with the remark that modularization of so-called crosscutting functionalities is a fundamental problem for the engineering of large-scale applications. Originating at Xerox PARC, this observation has sparked the development of a new style of programming featured that is gradually gaining traction, as it is the case for the related concept of code injection, in the guise of frameworks such as Swing and Google Guice. However, AOP lacks theoretical foundations to clarify this new idea. This paper proposes to put a bridge between AOP and the notion of 2-category to enhance the conceptual understanding of AOP. Starting from the connection between the λ-calculus and the theory of categories, we propose to see an aspect as a morphism between morphisms—that is as a program that transforms the execution of a program. To make this connection precise, we develop an advised λ-calculus that provides an internal language for 2-categories and show how it can be used as a base for the definition of the weaving mechanism of a realistic functional AOP language, called MinAML.
Residuals in higher-order rewriting
- Proceedings of Rewriting Techniques and Applications (RTA’03
, 2003
"... Abstract. Residuals have been studied for various forms of rewriting setting. In this article we study residuals in orthogonal Pattern Rewriting Systems (PRSs). First, the rewrite relation is defined by means of a higher-order rewriting logic, and proof terms are defined that witness reductions. The ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Residuals have been studied for various forms of rewriting setting. In this article we study residuals in orthogonal Pattern Rewriting Systems (PRSs). First, the rewrite relation is defined by means of a higher-order rewriting logic, and proof terms are defined that witness reductions. Then, we have the formal machinery to define a residual operator for PRSs, and we will prove that an orthogonal PRS together with the residual operator mentioned above, is a residual system. As a side-effect, all results of (abstract) residual theory are inherited by orthogonal PRSs, such as confluence, and the notion of permutation equivalence of reductions. 1
Four Equivalent Equivalences of Reductions
, 2002
"... Two co-initial reductions in a term rewriting system are said to be equivalent if they perform the same steps, albeit maybe in a di#erent order. We present four characterisations of such a notion of equivalence, based on permutation, standardisation, labelling and projection, respectively. We prove ..."
Abstract
- Add to MetaCart
Two co-initial reductions in a term rewriting system are said to be equivalent if they perform the same steps, albeit maybe in a di#erent order. We present four characterisations of such a notion of equivalence, based on permutation, standardisation, labelling and projection, respectively. We prove that the characterisations all yield the same notion of equivalence, for the class of first-order left-linear term rewriting systems. A crucial role in our development is played by the notion of a proof term. 1
2.2 Residual Theory......................... 4
, 2003
"... Abstract. Residuals have been studied for various forms of rewriting and residual systems have been defined to capture residuals in an abstract setting. In this article we study residuals in orthogonal Pattern Rewriting Systems (PRSs). First, the rewrite relation is defined by means of a higher-orde ..."
Abstract
- Add to MetaCart
Abstract. Residuals have been studied for various forms of rewriting and residual systems have been defined to capture residuals in an abstract setting. In this article we study residuals in orthogonal Pattern Rewriting Systems (PRSs). First, the rewrite relation is defined by means of a higher-order rewriting logic, and proof terms are defined that witness reductions. Then, we have the formal machinery to define a residual operator for PRSs, and we will prove that an orthogonal PRS together with the residual operator mentioned above, is a residual system. As a side-effect, all results of (abstract) residual theory are inherited by orthogonal PRSs, such as confluence, and the notion of
Author manuscript, published in "Modularity: AOSD'12 (2012)" A Monadic Interpretation of Execution Levels and Exceptions for AOP
"... has focused on applying aspects in various problem domains and on integration of aspects into full-scale programming languages such as Java. However, aspects are very powerful and the development of a weaving mechanism becomes rapidly a very complex task. While some research efforts [5, 10, 25, 26] ..."
Abstract
- Add to MetaCart
has focused on applying aspects in various problem domains and on integration of aspects into full-scale programming languages such as Java. However, aspects are very powerful and the development of a weaving mechanism becomes rapidly a very complex task. While some research efforts [5, 10, 25, 26] have made significant progress on understanding some of the semantic issues involved, the algebraic explanation of aspect features has never reached the beauty and simplicity of the connection between the λ-calculus and Cartesian closed categories that provided a categorical foundation for functional programming. Giving a precise meaning to aspects in AOP is a fairly tangled task because the definition of a single piece of code can have a very rich interaction with the rest of the program, whose effect can come up at anytime during the execution. The main purpose of this paper is to formalize this interaction—in particular for two recent sophisticated weaving definitions of aspects and base computation: (1) execution levels [24] that enable to stratify the computation space in order to prevent from basic infinite recursion; (2) execution levels with exceptions [6] that enable to avoid unexpected catching of exceptions in this stratified space. More precisely, we propose to put a bridge between (weaving-based approach to) AOP and the notion of 2-

