Not Your Mothers TDD - Type Driven Development in TypeScript

In recent years the TypeScript language has blossomed. It began as a safer way to do JavaScript, but has incrementally evolved into the most powerful mainstream language for functional programming. In particular the ability to dynamically define and transform types opens the door to new styles of coding, previously unavailable in regular software projects.

This talk will guide you through these new possibilities. We will start with the fundamentals of structural typing and algebraic types, but quickly move on to mapped types, type guards and beyond. Amongst other things you will see how to remove redundant types, write functions at new levels of abstraction, use constructs like HLists to improve type safety and use emerging libraries like the TypeScript Toolkit. By the end of the talk you will have an appreciation for why Type Driven Development may be the new TDD :-)