Programming Languages Must Have Formal Semantics. Period.
summary
Argues that every language gets a machine-checkable formal semantics first and that all tools—interpreter, compiler, verifier, model checker—are automatically derived from it using the K framework. Shows an executable semantics for kernel C with about 120 cells and >5,000 semantic rules, and a K implementation of many real languages; K itself is ~500k LOC. Demonstrates modular rewrite rules (contextual cells), tool regeneration by re-running the semantics, translation‑validation proofs and a tiny proof checker to make K trustless, noting runtimes ~one order of magnitude slower.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:04Modern software complexity
- 3:56Language tool challenges
- 8:51Semantics-first design
- 14:31K framework cells
- 19:54Executable formal semantics
- 21:20Trustless K with translation
- 24:07Deriving tools from semantics
- 30:05Q&A
related talks
01h 03mMatching Logic: Foundation of the K Framework
40mFormal semantics for multi-language programs
40mFormal semantics for multi-language programs
16mExtrinsically Typed Operational Semantics for Functional Languages
18mThe Essence of Verilog: A Tractable and Tested Operational Semantics for Verilo...
31mFormal Specification
21mSynthesizing Formal Semantics from Executable Interpreters
20mCertified Abstract Machines for Skeletal Semantics
