Categories for the Working Haskeller
The Haskell community is famous - perhaps infamous - for its enthusiasm for category theory. Why is this? Is it important to understand categories before you can understand Haskell programs? Is it an attempt to keep the community as pure as the language? Is it just that Haskell is a refuge for underemployed mathematicians? None of the above! In this talk, I hope to explain a little bit about how categories can help the working Haskeller. I'll focus on two aspects: categories as an organising principle, helping us to manage generic libraries; and categories as a reasoning principle, helping us to transform programs.