~/talk

Verified Interpreters for Dynamic Languages with Applications to the Nix Expression(…)

Talkat ICFP 2025 · 2025-10-12..10-18
links:none on file
slides:none on file

Paper presents a substitution-based operational semantics using deferred substitutions for dynamic name binding, extends call-by-name lambda calculus to model Nix features, and develops corresponding environment interpreters proven sound and complete for terminating, faulty, and diverging programs (including open terms). All proofs and a verified interpreter are mechanized in Rocq using rocq-std++ maps, the Rocq extraction produces executable OCaml, and the interpreter runs against the official Nix language tests (artifacts available; some tests differ due to call-by-name vs Nix laziness).

AI-written summary · about

  1. 0:00Formal semantics for Nix
  2. 1:05Nix needs formal semantics
  3. 2:08Nix expression language
  4. 3:11Nix expression features
  5. 4:13Dynamic binding in Nix
  6. 5:59Evaluation strategies in Nix
  7. 7:01Limitations of Nix semantics
  8. 8:03Substitution-based semantics challenges
  9. 9:30Deferred substitutions for open programs
  10. 10:53Core calculus with deferred substitutions
  11. 12:11Shadowing in Nix with deferred substitutions
  12. 13:14Extending deferred substitutions
  13. 14:15Nix language grammar
  14. 14:57Verified interpreters and tests
  15. 15:38Contributions and evaluation
  16. 16:05Q&A: Program logic
  17. 16:49Q&A: Laziness and semantics
  18. 17:54Q&A: 'with' feature necessity
  19. 18:35Q&A: Completeness of verification
  20. 19:39Q&A: Verifying build systems
  21. 20:43Q&A: Future work
~/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.