Tony Morris is a software product developer who has deployed functional programming techniques in industry for over 10 years. Tony teaches at the tertiary level and for professional programmers with a view toward producing a viable commercial result. Tony 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.
YOW! West 2014 Perth
Parametricity, Types, Documentation, Code Readability
Parametricity builds on the work of Philip Wadler and Danielsson et al. It is a robust, ubiquitous technique to improve code readability in all programming environments.
This talk will explore the specific details of parametricity. Some of the theoretical underpinnings will be examined with a heavier focus placed on their practical application. We will be using several programming languages; Haskell, Java and C#.
After this talk, expect to have a clear understanding of the reasoning process that is increasingly used by professional programmers. You will also learn why there is consistent dismissal of degenerate methods of code comprehension. You will see why so many open-source projects are able to work so well with many committers who have such diverse insights. We all agree on one unifying point; parametricity is how to achieve robustness and we won’t give it up for anything.
You too, can achieve this goal in your project
- Theorems for free!, Wadler, Philip, Proceedings of the fourth international conference on Functional programming languages and computer architecture, pp 347 – 359, 1989, ACM
- Fast and loose reasoning is morally correct, Danielsson, Nils Anders and Hughes, John and Jansson, Patrik and Gibbons, Jeremy, ACM SIGPLAN Notices, vol 41, num 1, pp 206 – 217, 2006, ACM