Type Driven Development

Everyone knows (should know?) what Test Driven Development is. In languages with sufficiently strong type systems such as Scala or Haskell we can do even better. We can make compiler do part of testing for us. We sometimes hear “I cannot think of bugs that can be prevented by static type checking”.

I would like to show some Scala code examples which (hopefully) prove this statement is not correct – starting from basic ones, such as avoiding null pointers, and moving towards more complex ones – coming from libraries such as Scalaz and Shapeless.

Video producer: http://www.boosterconf.no/