Gradual typing of Ruby at Scale
summary
Stripe builds a Sorbet typechecker for its million‑line Ruby mono repo, choosing a gradual nominal manifest type system with control‑flow dependent smart casts and runtime checks that remain. Tooling includes a metaprogramming serializer to capture dynamic methods and an automated sig guesser. Deployment uses a 60‑day dark launch and CI gating; performance hits ~100k lines/sec per core and scales to 64 cores. Outcome: about 70% typed files and roughly 50% call‑site coverage, so it works at scale.
AI-written summary · about
chapters (5)
- 0:00Start
- 5:14Development
- 14:48Compatible with Ruby • Works with existing tools: editors, linters &.etc
- 17:15Adoptable gradually: runtime typechecking
- 31:46Practical experience
related talks
48mGradual typing for Ruby at Scale with Sorbet
32mGradual Typing in Ruby - A Three Year...
41mSorbet: A type checker for Ruby 3 you can use today!
30mSorbet at Grailed: Typing a Large Rails Codebase to Ship with...
30mCompiling Ruby to Native Code with Sorbet & LLVM
43mA day in the life of 2,000 developers
31mStatic Type Checking in Rails with Sorbet
33mAdopting Sorbet at Scale
