Write a Blog >>
ICFP 2019
Sun 18 - Fri 23 August 2019 Berlin, Germany
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 Aug

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