Gradual Metaprogramming
summary
A calculus called MetaGTLC models a gradually typed metalanguage that generates statically typed object code and compiles to an explicit cast calculus MetaCC; the implementation adds a quote coercion to force (and blame) type checks during metaevaluation rather than at runtime, uses a coercion combinator reduction for explicit casts, and requires birectional checking to synthesize target types at splices. The result is a mechanized type-safety proof and executable artifacts checked in Agda, ensuring generated object programs are well typed or blame early.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:03Gradual typing meets metaprogramming
- 3:55Meta language syntax and types
- 6:06Compiling to cast calculus
- 7:30Quoted coercions and reduction
- 11:43Design differences from prior work
- 16:22Type-directed compilation rules
- 17:26Why bidirectional typing
- 21:25Type safety and formalization
- 22:28Conclusion
- 23:34Q&A: Bidirectional typing limits
- 24:18Q&A: Coercion tradeoffs
- 26:06Q&A: Type info and errors
- 29:28Q&A: Static typing in splices
