Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Aspect Oriented Programming: a language for 2-categories

Nicolas Tabareau 1, 2
1 ASCOLA - Aspect and composition languages
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne Atlantique
Abstract : 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. However, AOP lacks theoretical foundations to clarify this new idea. % This paper proposes to put a bridge between AOP (and more generally program transformation) and the notion of 2-category to enhance the conceptual understanding of AOP. Starting from the connection between the lambda-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 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. Finally, we advocate for a formalization of more complex AOP languages (eg. with references or exceptions) using the notion of enriched Lawvere theories.
Keywords : Languages Theory design
Document type :
Preprints, Working Papers, ...
Complete list of metadata

https://hal.inria.fr/inria-00470400
Contributor : Nicolas Tabareau <>
Submitted on : Tuesday, April 6, 2010 - 2:34:14 PM
Last modification on : Tuesday, December 4, 2018 - 11:08:05 AM
Long-term archiving on: : Friday, October 19, 2012 - 11:20:26 AM

File

aspect_2_category_icfp.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00470400, version 1

Collections

Citation

Nicolas Tabareau. Aspect Oriented Programming: a language for 2-categories. 2010. ⟨inria-00470400v1⟩

Share

Metrics

Record views

86

Files downloads

102