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 Aug
16:50 - 18:15: Haskell 2019 - Paper Session 4: Metaprogramming at Aurora Borealis Chair(s): Christiaan BaaijQBayLogic B.V. | ||||||||||||||||||||||||||||||||||||||||||
16:50 - 17:20 Research paper | Matthew PickeringUniversity of Bristol, Nicolas WuImperial College London, Csongor KissImperial College London | |||||||||||||||||||||||||||||||||||||||||
17:20 - 17:50 Research paper | Matthew PickeringUniversity of Bristol, Nicolas WuImperial College London, Boldizsár NémethEötvös Loránd University | |||||||||||||||||||||||||||||||||||||||||
17:50 - 18:00 Other | Richard A. EisenbergBryn Mawr College, USA |