Aspect-orientedprogramming provides theprogrammer with means to cross-cut conventional program structures, in particular the class hierarchies of object-oriented programming. This paper studies the use of aspect orientation in structuring syntax directed compilers implemented as attribute grammars. Speci cally, it describes a method for specifying de nitions of related attributes as `aspects' and treating them as rst-class objects, that can be stored, manipulated and combined. It is hoped that this embedding of an aspect-oriented programming style in Haskell provides a stepping stone towards a more general study of the semantics of aspect-oriented programming.
Oege de Moor, Simon L. Peyton Jones, Eric Van Wyk