~/talk

Record Updates in Coq

Talkat POPL 2021 · 2021-01-17..01-22
links:none on file
slides:none on file

Implements record updates in Coq by generating setters via type class resolution and Ltac: a Ltac procedure solve_setter extracts an ada_expansion (eval hnf), uses eval pattern to substitute a projection, and registers itself as a hint so Coq builds a setter instance on demand. Adds notation for assigning constants and notation for nested updates, an OCaml plugin to auto-generate projections, runtime checks that the ada_expansion is the identity, and ships on GitHub and opam.

AI-written summary · about

  1. 0:00Record updates in Coq
  2. 1:06How set is implemented
  3. 1:27Record fields with ada expansions
  4. 2:09Setter using ltac
  5. 3:53Type classes for setters
  6. 5:59Automating setters with hints
  7. 6:41Why instances work like hint DBs
  8. 7:03Improving UI with notations
  9. 8:30Reducing boilerplate with plugins
  10. 9:34Nested record updates & conclusion
~/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.