kirancodes.me
To Proof Maintenance & Beyond!

Attribute grammars fly first-class: how to do aspect oriented programming in Haskell

Marcos Viera, S. Doaitse Swierstra, Wouter Swierstra

Abstract

Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over data types, avoid the trade-off which arises when building software incrementally: should it be easy to add new data types and data type alternatives or to add new operations on existing data types? However, AGs are usually implemented as a pre-processor, leaving e.g. type checking to later processing phases and making interactive development, proper error reporting and debugging difficult. Embedding AG into Haskell as a combinator library solves these problems.

Related papers