A Plan towards Ruby 3 Types
summary
A new Ruby Type Profiler implements an abstract interpreter that runs on test executions, records argument and return types, and emits Ruby signature files; early naive runs took ~10 minutes on benchmarks but after a state-merging optimization it analyzes itself in 2.5 seconds and optcarrot in 6 seconds. It finds undefined-method and union-type bugs, suggests signatures, but requires tests to exercise methods, loses variable correlations (over-unioning), and struggles with dynamic send targets.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 3:54Goals of Ruby 3
- 5:10The Plan
- 10:35Review
- 11:25Use Cases
- 14:07Current Plan
- 14:55Type Profiler
- 18:39State Explosion Problem
- 24:44Problems
- 26:34Development Status
related talks
36mA Static Type Analyzer of Untyped Ruby Code for Ruby 3
22mEnjoy Ruby Programming in IDE and TypeProf
53mAn introduction to typed Ruby programming
37mTypes and Ruby Programming Language
37mChecking Your Types: An Overview of Ruby's Type System
39mMatz Q&A
37mThe Future of Ruby Performance Tooling
36mAn introduction to typed Ruby programming
