Explore a 39-minute conference talk from Strange Loop Conference that delves into Stripe's experience building a typechecker for their large Ruby codebase. Learn about the critical design decisions made to scale development and maintain engineering productivity, including the implementation of a gradual type system, use of manifest types, adoption of a nominal type system, and development of custom control flow dependent type checking. Discover how these choices have impacted code understanding, developer confidence, and bug prevention in Stripe's extensive Ruby environment where approximately 75% of their engineers work. Gain insights into the trade-offs between adoption ease, code readability, and type guarantee strength in a gradually typed system for a traditionally duck-typed language.
Overview
Syllabus
"Gradual typing of Ruby at Scale" by Dmytro Petrashko and Paul Tarjan
Taught by
Strange Loop Conference