2003
Adding superimposition to a language semantics
Publication
Publication
Given the denotational semantics of a programming language, we describe a general method to extend the language in a way that it supports a form of emph{superimposition}~---~just in the sense of aspect-oriented programming. In the extended language, the programmer can superimpose additional or alternative functionality (aka advice) onto points along the execution of a program. Adding superimposition to a language semantics comes down to three steps: (i) the semantic functions are elaborated to carry advice; (ii) the semantic equations are turned into `reflective' style so that they can be altered at will; (iii) a construct for binding advice is integrated. We illustrate the approach by representing semantics definitions as interpreters in Haskell.
Additional Metadata | |
---|---|
, | |
CWI | |
Software Engineering [SEN] | |
Organisation | Software Analysis and Transformation |
Lämmel, R. (2003). Adding superimposition to a language semantics. Software Engineering [SEN]. CWI. |