~/talk

Effectful Software Contracts

Talkat POPL 2024 · 2024-01-14..01-20· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Presents a formal design that lets contracts perform effects while proving they do not change successful runs: an erasure theorem showing contract checks cannot unduly interfere with program execution. Uses effect handlers to separate contract-effect handlers from main handlers, imposes a restrictive single-use/linear continuation discipline, and proves blame correctness. Ships a faithful Hashlang implementation plus a Rackety backward-compatible version and evaluates by reimplementing several prior effectful-contract examples (bounded-use, stateful checks); restrictions are tight but the prototypes work and artifacts are available.

AI-written summary · about

  1. 0:00Effectful software contracts
  2. 2:59Contracts with intentional effects
  3. 5:50Formalizing effect usage
  4. 7:36Effect handlers in contracts
  5. 10:06Bounded-use function contracts
  6. 13:21Handling effects with handlers
  7. 15:05Theory and implementations summary
  8. 16:32Q&A on verification
~/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.