~/talk

Cakes That Bake Cakes: Dynamic Computation in CakeML

Talkat PLDI 2023 · 2023-06-17..06-21· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Extends the verified CakeML compiler with an Eval primitive that compiles and executes new CakeML code at runtime, letting original and dynamic code share higher‑order values and mutually recurse and enabling a verified LCF‑style prover like Candle to run tactics down to the binary. Implementation modifies the self‑hosting pipeline, requires x86 Linux, updates about 50,000 lines of proofs inside a ~320,000 lines of HOL4 development, and proves correctness using an oracle-based semantics to reconcile compilation phases.

AI-written summary · about

  1. 0:00Dynamic computation in CakeML
  2. 3:10Meaning of eval in CakeML
  3. 5:39Motivation for eval
  4. 7:04Eval compiler implementation
  5. 11:41CakeML compiler structure
  6. 13:26Runtime state and eval design
  7. 15:32Namespaces and environments
  8. 17:18Eval challenges and proofs
  9. 19:42Eval verification summary
  10. 20:25Q&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.