If I unit test do I really need static typing
summary
Performs a line‑by‑line Python → Haskell translation of four small projects and runs each project’s unit tests, then uses the Haskell type checker to see what new errors appear. The type checker flags 17 defects missed by existing tests (9, 2, 0, 6 across projects); one project (grapefruit) has 100% coverage and zero type‑revealed bugs. Notes selection‑bias and reproduction rules, argues static typing catches many real bugs unit tests miss. Haskell type checker 17 static-type-only bugs
AI-written summary · about
chapters (9)
- 0:00Welcome and introduction
- 4:24Unit testing basics
- 7:59The static typing debate
- 10:03Designing the experiment
- 12:53Results and findings
- 19:11Code complexity and bugs
- 25:37Conclusion and trade-offs
- 28:11The need for scientific evidence
- 31:25Q&A session
related talks
45mTDD, as in Type-Directed Development
31mKnow Your Types - Bringing Static Types to Dynamic Languages
24mStatic type-checking is dead, long live static type-checking in Python!
25mWhy static types in Javascript? — Preethi Kasireddy
34mTypes Are Not Safe
33mStatically Typed Interpreters
30mTyping at scale: statically type-checking a large codebase
45mBetter types = fewer tests
