Programming Languages

Refactoring Macros

Macros are code transformers, but the result of these transformations is usually not intended to be seen, let alone edited, by the programmer. In this Msc thesis we want to explore the usage of macros as user-extensible refactoring tools, such as “extract function” or “convert to CPS”. Practically, we envision an IDE integration where programmers can select a block of code and then select a macro that will transform the selected block of code, which then gets replaced by the result of the macro invocation. We plan to implement refactoring macros on top of the Racket language and the DrRacket IDE.

Further Information


Klaus Ostermann