Parametricity, Functional Programming, Types
In this talk, we define the principle of functional programming, then go into detail about what becomes possible by following this principle. In particular, parametricity (Wadler, 1989) and exploiting types in API design are an essential property of productive software teams, especially teams composed of volunteers as in open-source. This will be demonstrated.
Some of our most important programming tools are neglected, often argued away under a false compromise. Why then, are functional programming and associated consequences such as parametricity so casually disregarded? Are they truly so unimportant? In this talk, these questions are answered thoroughly and without compromise.
We will define the principle of functional programming, then go into detail about common problems to all of software development. We will build the case from ground up and finish with detailed practical demonstration of a solution to these problems. The audience should expect to walk away with a principled understanding and vocabulary of why functional programming and associated techniques have become necessary to software development.