Thu 22 Aug 2019 16:50 - 17:20 at Aurora Borealis - Paper Session 4: Metaprogramming Chair(s): Christiaan Baaij
Cross-stage persistence is an essential aspect of multi-stage programming that allows a value defined in one stage to be available in another. However, difficulty arises when implicit information held in types, type classes and implicit parameters needs to be persisted. Without a careful treatment of such implicit information—which are pervasive in Haskell—subtle yet avoidable bugs lurk beneath the surface.
This paper demonstrates that in multi-stage programming care must be taken when representing quoted terms so that important implicit information is not discarded. The approach is formalised with a type-system, and an implementation in GHC is presented that fixes problems of the previous incarnation.
Thu 22 AugDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Thu 22 Aug
Displayed 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 |