Type Your Business
summary
Claim: shift validation from runtime exceptions and noisy tests into the compiler. Concrete tools: refined types for ports and ipv4, tagging and newtype / opaque types for zero‑cost IDs, macros that return Either for runtime inputs, path‑dependent types to tie a wagging tail to its specific dog, and sealed‑abstract constructors to control ID creation. Result: fewer repetitive tests, clearer repository types (Entity with ID), faster failures at compile time, and practical build rules like -Xfatal-warnings and linters.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:49EVERYTHING IS TERRIBLE
- 1:53UNIT TESTING IS AWESOME
- 2:22UNIT TESTING IS... LESS AWESOME
- 3:30DIVERGENT BEHAVIOR
- 5:25FIRST STEP
- 5:52THIS IS A GOOD THING
- 9:12CONSTRAIN THE DOMAIN?
- 9:23REFINED TYPES
- 11:55WHAT HAVE WE ACHIEVED
- 13:35PATH-DEPENDENT TYPES
- 15:50TESTS NEVER GOING AWAY
- 17:04TESTS!
- 17:16ID TYPES
- 18:40ACCIDENTAL CREATION
- 20:48TAGGING
- 22:20@NEWTYPE
- 24:41PERSISTENCE
- 25:24SEPARATION OF CONCERNS
- 27:49RECAP
- 28:28THERE'S A LOT TO LEARN
- 29:58SUMMARY
related talks
22mScale By The Bay 2018 Unconference: Omer Van Kloeten
22mThink you know TypeScript? Think again.
21mBeyond Type Checking Building Bulletproof TypseScript Applications
21mThe long-tail of type safety
34mTypes Are Not Safe
34mBuilding the systems of tomorrow
21mLearning to Love Type Systems
27mA Story About Types and JavaScript
