~/talk

Ill-Typed Programs Don't Evaluate

Talkat Incorrectness 2024 · 2024-01-17..01-19
links:none on file
links:none on file
slides:none on file

Introduces two-sided type systems — sequent-calculus judgments that allow arbitrary expressions on the left and lists of typings on the right, plus a top type containing all values — and claims a pair of guarantees: well-typed programs don’t go wrong and ill-typed programs don’t evaluate (reach a value). Demonstrates the system on constructors and pattern matching (proves head(nil) does not evaluate), defines a necessity arrow for leftward reasoning, gives an algorithm for type inference in the appendix (not yet implemented), and explores internalising negation as a type complement that yields an alternate semantics where well-typed code can still go wrong.

AI-written summary · about

  1. 0:00Functional programming basics
  2. 2:09Correctness in type systems
  3. 5:22Typing judgments for bugs
  4. 8:14Typing rules for properties
  5. 11:54Necessity arrow type
  6. 15:51Left-hand typing bugs
  7. 17:21Conclusion
  8. 18:05Q&A
  9. 19:50Termination and call-by-value vs call-by-name
  10. 20:32Ill-typed programs
  11. 21:15Implementation and inference
  12. 21:59Defining 'go wrong'
~/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.