Goals of the Luau Type System, Two Years On
summary
Roblox reports it implements semantic subtyping by normalizing types (with possible exponential blowup) to reduce false positives, and it builds an infallible type system that assigns some type to every term plus a separate judgment that decides when to report errors. Gradual typing becomes error‑suppressing any rather than compatible relations, so nonstrict vs strict is just when suppression applies. Implementation is in a beta opt‑in rollout, tested on a community of ~4 million creators and a top experience with ~1 billion hours, and refinement continues.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 5:142021 position paper recap
- 7:22Roblox in the language business
- 14:51Creator community goals
- 18:45Sound and complete types
- 19:32Semantic subtyping progress
- 22:44Gradual typing refinements
- 27:24Future plans
- 28:08Q&A
related talks
27mGradual Typing in Practice
21mThe long-tail of type safety
30mThe Fun of Runtime Type Systems (or "Funtime Type Systems")
20mGetting into the Flow: Towards Better Type Error Messages for Constraint-Based ...
32mGradual Typing in Ruby - A Three Year...
38mType System Foundations for Super-Charged Semantic Code Search
27mTowards Type-Directed API Search for Mainstream Languages
28mMind the gap! Why static typing requires more than just adding annotations
