~/talk

What's so hard about writing a type checker? A tour of ty

Talkat PyCon US 2026 · 2026-05-13..05-19· [python]
slides:none on file

Gives concrete engineering details: a real implementation called ty written in Rust that uses Salsa for memoized, incremental query-based computation, a semantic index of per-file use‑def chains, and DNF set operations to support set-theoretic types (unions, intersections, negations). Shows how laziness, source-stable AST ids, and selective diagnostics keep editor feedback snappy, and describes tradeoffs and what’s actually implemented versus experimental. Watch if you want how it’s built and why it performs; skip if you only want high‑level promises.

AI-written summary · about

  1. 0:00TY purpose
  2. 1:31How TY works under the hood
  3. 3:17Lazy and incremental checking
  4. 8:56Salsa architecture
  5. 15:41Control flow and use-def chains
  6. 23:03Type inference
  7. 29:42Sum types and narrowing
  8. 32:32Diagnostics and error context
  9. 37:48Diagnostic performance
  10. 38:34Contributing to TY and Q&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.