~/talk

Record Updates in Coq

Talkat CoqPL 2021 · on Tuesday, 2021-01-19
links:none on file
slides:none on file

Library coq-record-update implements record setters by generating per-field setters with Ltac and plugging that Ltac into type class resolution so Coq runs the generator on demand instead of requiring one instance per field. Implementation builds an ada expansion that deconstructs/reconstructs the record, uses eval hnf and eval pattern to substitute the target projection, special-cases setters that only depend on the field value, verifies the ada expansion is the identity to catch swapped-field errors, and offers notation, nested updates and an optional small OCaml plugin; code is on GitHub and installable via 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.