Types and Ruby Programming Language
summary
Claim: no one has yet built a practical whole-program Ruby type checker despite a decade of work. Four tools span approaches: DiamondbackRuby uses structural subtyping and fails to infer polymorphic methods; an ML‑style system infers polymorphism but cannot type Array#map; Hammingbird (on RDL) does just‑in‑time static checks during execution and finds more test-time errors; Steep uses separate .rbi signatures and @implements but requires manual type defs and breaks on heavy metaprogramming, so the problem remains open.
AI-written summary · about
chapters (7)
- 0:00Start
- 1:56Type Checking Benefits
- 8:29Structural Subtyping
- 12:10Type Inference for Ruby Programs based on
- 14:25Local Type Inference
- 18:10Type Checking Difficulties
- 19:00Metaprogramming
related talks
37mChecking Your Types: An Overview of Ruby's Type System
43mType Checking Ruby
53mAn introduction to typed Ruby programming
39mType Checking Ruby Programs with Annotations
36mAn introduction to typed Ruby programming
32mThe State of Ruby 3 Typing
25mA Dangerous Game: Safety in Ruby
28mA Plan towards Ruby 3 Types
