A modern compiler calculates and constructs a large amount of information about the programs it compiles. Tooling authors want to take advantage of this information in order to extend the compiler in interesting ways. Source plugins are a mechanism implemented in the Glasgow Haskell Compiler (GHC) which allow inspection and modification of programs as they pass through the compilation pipeline.
This paper is about how to write source plugins. Due to their nature–they are ways to extend the compiler–at least basic knowledge about how the compiler works is critical to designing and implementing a robust and therefore successful plugin. The goal of the paper is to equip would-be plugin authors with inspiration about what kinds of plugins they should write and most importantly with the basic techniques which should be used in order to write them.
Thu 22 AugDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:50 - 18:15 | Paper Session 4: MetaprogrammingHaskell at Aurora Borealis Chair(s): Christiaan Baaij QBayLogic B.V. | ||
16:50 30mResearch paper | Multi-Stage Programs in Context Haskell Matthew Pickering University of Bristol, Nicolas Wu Imperial College London, Csongor Kiss Imperial College London | ||
17:20 30mResearch paper | Working with Source Plugins Haskell Matthew Pickering University of Bristol, Nicolas Wu Imperial College London, Boldizsár Németh Eötvös Loránd University | ||
17:50 10mOther | PC Chair Report Haskell Richard A. Eisenberg Bryn Mawr College, USA |