~/lightning

Lightning talk: Typechecking Elixir

Lightningat ElixirConf EU 2021 · 2021-09-09..09-10· [testing]
slides:none on file

Demo GenServer code uses Gradualizer to treat specs as a contract for accepted messages and to produce a dead-code warning when a handler’s clause is no longer declared, and exhaustiveness checking with an example value for missing variants. Response types are verified by attaching an annotate_type macro or an equivalent external function so case branches and mistyped message tags are caught at check time rather than in CI or tests, and Gradualizer runs much faster than Dialyzer.

AI-written summary · about

  1. 0:00Typechecking Elixir
  2. 1:24Demo setup with Gradualizer
  3. 2:27Dead code detection
  4. 3:29Exhaustiveness checking
  5. 4:31Catching message typos
  6. 5:38GenServer response checks
  7. 7:21Exhaustiveness for responses
  8. 8:23Gradualizer vs Dialyzer
  9. 9:27Adopting type specs
~/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.