The Essential Tools of Open-Source: Functional Programming, Parametricity, Types

Open-source software projects have become an important contribution to our profession. Volunteers and professionals working away on what they love, aspiring to be a part of software freedom and to provide a benefit to all.

Many tools exist to assist in this worldwide, distributed effort. From distributed revision control systems to programming environments, the open-source team comes to rely on these tools to produce work.

If we are to attract skilled volunteers and work to producing quality software as a team, we must do better than average. Not by just a little bit. We must be the example of a software development team. We must exploit professional tools.

This talk will make a case that some programming tools are neglected, often argued away under a false compromise. Why then, are functional programming and associated consequences such as parametricity so often neglected? Are they truly so unimportant?

This talk will define the principle of functional programming, then go into detail about what becomes possible by following this principle. Parametricity (Wadler, 1989), equational reasoning and exploiting types in API design are an essential property of productive software teams, especially teams composed of volunteers, all enabled by functional programming.

Tony Morris

Tony Morris is a software product developer who has deployed functional programming techniques in industry for over 10 years. Tony teaches informally, at the tertiary level and for professional programmers with a view toward observing the direct benefits of these programming techniques to produce a viable commercial result. He is currently a Senior Software Engineer at NICTA where he is tasked with promoting and educating on functional programming for the benefit of all Australian software developers.

Tony takes a fastidious, principled approach to functional programming both when deployed in practice and when in a learning environment to ensure maximum yield from the effort. Tony believes that exploring principles and the following consequences provides a rewarding experience for all involved.