~/talk

TDD, as in Type-Directed Development

Talkat JavaDay Lviv 2015 · on Sunday, 2015-06-14· [testing, functional-programming]
slides:none on file

Argues that replacing some tests with stronger static types catches whole classes of bugs: uses Scala/Haskell idioms (Option/Maybe, newtypes, tagged units), parametricity to derive behavior, and property-based tests as a complement. Demonstrates parsing an HTTP parameter into an int safely, shows compile-errors drive implementation (write types first, follow compiler), cites a multi-day refactor that only needed types and compilation to restore correctness, and points to search-by-type (Scala libraries) and parametricity gives free theorems as practical wins — types as proofs.

AI-written summary · about

  1. 0:00Introduction to type-driven
  2. 2:16Defining types and constraints
  3. 7:28Correctness by construction
  4. 10:40Types as design tools
  5. 14:43Parametricity and generics
  6. 19:09Avoiding anti-patterns
  7. 22:36Confidence through types
  8. 26:31Type-driven development
  9. 29:37Communication with types
  10. 32:33Integrating testing strategies
  11. 36:53Recommended learning resources
  12. 40:37Q&A on dependent types
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.