A Specification for Typed Template Haskell
Matthew Pickering, Andres Löh, Nicolas Wu

Multi-stage programming is a proven technique that provides predictable performance characteristics by controlling code generation. We propose a core semantics for Typed Template Haskell, an extension of Haskell that supports multi staged programming that interacts well with polymorphism and qualified types. Our semantics relates a declarative source language with qualified types to a core language based on the the polymorphic lambda calculus augmented with multi-stage constructs.

Download / Links
Draft, rejected from ICFP 2020
arXiv version of the draft

Valid XHTML 1.0! Valid CSS!

Andres Löh, 2022-07-11