~/talk

Type Checking Ruby Programs with Annotations

Talkat RubyKaigi 2017 · 2017-09-18..09-20· [ruby]
slides:none on file

Type inference for real Ruby programs proves infeasible without help so the solution implemented is a gradual static checker called Steep available on GitHub and as a gem that combines local type inference with structural subtyping and a separate signature language for libraries and monkey patches. It requires explicit signatures for many core classes, reduces annotations for locals, and accepts tradeoffs (cannot fully infer polymorphic builtins). The tool type checks annotated code and works in practice but needs community-written signatures to scale.

AI-written summary · about

  1. 0:00Introduction
  2. 3:21Why type check Ruby
  3. 6:17Past type checking attempts
  4. 13:16Limitations of current approaches
  5. 16:16Relaxing type checking requirements
  6. 18:03Runtime type checking
  7. 21:03Introducing Steep
  8. 31:54Steep's type system
  9. 32:47Q&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.