~/talk

TDD, Like in Type Driven Development

TalkinFrenchat Scala.IO 2014 · 2014-10-23..10-24· [developer-experience]
links:none on file
slides:none on file

Shows how encoding errors in Scala's type system (using Option, Validation, Either and precise Scala collection types) and writing polymorphic signatures leads to provably constrained implementations and fewer runtime exceptions. Demonstrates using ScalaCheck property testing to shrink and replace many unit tests, with examples (map/filter fusion) where property tests find counterexamples and the approach reduces runtime surprises.

AI-written summary · about

  1. 0:00Type-driven programming intro
  2. 1:28Avoidable errors without types
  3. 3:42Encapsulating errors in types
  4. 5:34Options for missing cases
  5. 7:04Data validation with types
  6. 8:31Benefits of typed structures
  7. 9:54Correctness proofs by construction
  8. 11:24Types and logic propositions
  9. 13:11Parametricity and constrained behavior
  10. 15:00Polymorphism indeterminacy example
  11. 16:23Composable functions math guarantees
  12. 17:51Avoiding errors with strict types
  13. 19:39Dangers of exceptions and reflection
  14. 21:26Full commitment to types
  15. 22:54Types impact on quality
  16. 24:46Implementation via type signatures
  17. 27:35Communication via types
  18. 29:28Practical signature-based search
  19. 31:51Types as universal language
  20. 33:20Strict types limits and alternatives
  21. 34:49Property vs unit tests
  22. 36:59Development pyramid with types
  23. 39:16Key steps in type-driven dev
  24. 41:03Bug fixing with property tests
  25. 42:30Q&A
~/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.