A typed monadic embedding of aspects

  • Authors:
  • Nicolas Tabareau;Ismael Figueroa;Éric Tanter

  • Affiliations:
  • INRIA, Nantes, France;University of Chile, Santiago, Chile;University of Chile, Santiago, Chile

  • Venue:
  • Proceedings of the 12th annual international conference on Aspect-oriented software development
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe a novel approach to embed pointcut/advice aspects in a typed functional programming language like Haskell. Aspects are first-class, can be deployed dynamically, and the pointcut language is extensible. Type soundness is guaranteed by exploiting the underlying type system, in particular phantom types and a new anti-unification type class. The use of monads brings type-based reasoning about effects for the first time in the pointcut/advice setting, thereby practically combining Open Modules and EffectiveAdvice, and enables modular extensions of the aspect language.