Migrating Large-scale Scala Projects to Explicit-nulls with the Help from LLMs
summary
Migrates the Scala standard library (~200k LOC) to Scala 3 explicit nulls using an LLM-driven, iterative workflow that groups error messages, sends focused code windows with templated prompts, and re-runs compilation until no new errors appear. Starts from 600+ initial errors and ~1,600 null literals, produces about 1,500 lines changed, preserves behavior and binary compatibility, uses hybrid human + LLM review, catches subtle issues (one typo missed by humans but found by an agent), and all tests pass.
AI-written summary · about
chapters (9)
- 0:00Migration project introduction
- 1:07Migrating Scala to explicit-nulls
- 3:58Manual migration challenges
- 7:50LLMs assisting migration
- 12:25LLM prompts and workflows
- 15:35AI-assisted results and limits
- 16:59Validation and hybrid review
- 18:23Migration outcomes and compatibility
- 19:29Q&A
related talks
30mEfficient programming with Scala and LLMs
40mSafe Coding with LLMs - Verifiable Scala Silver Bullet
30mLessons Learned from 15 Years of Scala in the Wild
29mLearning Scalaz
22mAdopting Scala: The Next Steps
29mWhy Scala 3 will be awesome
33mMigration Without Tears: 2,000 Projects, One New LTS
21mReasonable Scala Compiler
