A practical monadic aspect weaver
Author(s) -
Ismael Figueroa,
Éric Tanter,
Nicolas Tabareau
Publication year - 2012
Publication title -
hal (le centre pour la communication scientifique directe)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2162010.2162018
Subject(s) - monad (category theory) , computer science , programming language , aspect oriented programming , weaving , modular design , extensibility , programming language specification , semantics (computer science) , programming paradigm , functor , software , programming domain , mathematics , zoology , inductive programming , discrete mathematics , biology
We present Monascheme, an extensible aspect-oriented programming language based on monadic aspect weaving. Extensions to the aspect language are defined as monads, enabling easy, simple and modular prototyping. The language is implemented as an embedded language in Racket. We illustrate the approach with an execution level monad and a level-aware exception transformer. Semantic variations can be obtained through monad combinations. This work is also a first step towards a framework for controlling aspects with monads in the pointcut and advice model of AOP.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom