~/talk

Code Generation via Meta-programming in Dependently Typed Proof Assistants

Talkat WITS 2026 · on Saturday, 2026-01-17· [developer-experience]
links:none on file
links:none on file
slides:none on file

A survey implements seven implementations of a Functor-deriving meta program that generates the map function for option/list/tree and other boilerplate across Coq (OCaml plugins, MetaCoq, Ltac2, Elk, LP) Agda and Lean. Results show OCaml plugins force low-level AST work and use de Bruijn indices that are error-prone, MetaCoq/Agda have quoting and state limits, Ltac2 is ergonomic but hard to reason about, LP and Lean feel pleasant but Lean’s fixed-point/recursor support leaves its implementation incomplete; code and preprint are on GitHub and the ISOP paper.

AI-written summary · about

  1. 0:00Introduction
  2. 3:01Meta-programming frameworks in Rock
  3. 5:30Okamel plugins for low-level meta
  4. 8:00Metarok as Rock programs
  5. 9:25Agda's reflection API
  6. 11:32Eltech 2 tactics
  7. 13:58Lean's meta-programming
  8. 16:26Comparative analysis
  9. 18:14Future work
  10. 21:56Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.