Clément Delafargue

TDD, as in Type-Directed Development

TDD, as in Type-Directed Development

Test-Driven Development is widely accepted as good practice. But can we do better? By specifying your program's behaviour with types, you can go a very long way, with more confidence and with less hassle than with tests.

In this talk, Clément will show a new vision of types, explore the fundamental differences between specifying with types and specifying with tests. He'll talk about how types allow us to prove properties about our program and how genericity is a tremendously powerful tool for specification. He'll show means of reasoning based on types and assess specifically what it provides.

Lastly, Clément will show how to complement Type-Directed Development with Test-Driven Development to specify with tests what's left after laying out the types.

About Clément

Clément Delafargue is an indepedendent consultant. A graduate from École Centrale de Nantes, he has been developing web projects since 2002. He can work both on frontend and backend, with various technologies (Javascript (on both frontend and backend), Ruby, Java, Scala). He is particularly interested in Functional Programming.

He can take part in your projects; as a member of your team(s) or as a tech lead, and as a trainer in scala, haskell, javascript, or functional programming in general.

Very passionate about tech and development, he has co-founded Eklaweb, a sur-mesure dev company in 2009. He has gathered a team of engineers and taught them functional programming. He’s now an indepedendent consultant and works with several startups, such as Clever-Cloud, and Sounderbox.


Besides his work, he teaches computer programming at École Centrale de Nantes and IMIE (C, java, haskell, PHP, HTML/CSS, PL/SQL). He also teaches continuous integration and functional programming to Centrale Nantes students. He has created Nantes Functional Programming Groupand gives talks about functional programming.

Github: divarvel

Twitter: @clementd

Back to conference page