An introduction to typed Ruby programming
summary
Ruby 3 adds optional static typing via RBS signature files and a spectrum of tools: a level‑1 type profiler that generates signatures and level‑2 checkers that require annotations. The Steep gem implements structural subtyping, uses comment annotations so runtime behavior stays unchanged, and performs flow‑sensitive checks and union/case‑exhaustiveness verification to catch real errors (wrong keyword args, wrong return types, accidental nil/new cases). Steep is usable now, actively migrating to RBS and adding IDE (LSP) support, but it does not perform runtime checks for metaprogrammed code.
AI-written summary · about
chapters (8)
- 0:00Introduction and speaker intro
- 3:49Type checking plan for Ruby 3
- 10:04Ruby type checking foundation
- 20:40Type checker options and recommendations
- 21:05Introducing Steep type checker
- 29:52Benefits of type checking
- 45:17Summary and closing remarks
- 46:28Q&A session
related talks
36mAn introduction to typed Ruby programming
32mThe State of Ruby 3 Typing
37mChecking Your Types: An Overview of Ruby's Type System
39mType Checking Ruby Programs with Annotations
21mConsider Static Typing
37mTypes and Ruby Programming Language
36mA Static Type Analyzer of Untyped Ruby Code for Ruby 3
22mEnjoy Ruby Programming in IDE and TypeProf
