Beyond Monads: Practical Category Theory by Jim Duey.

From the description:

Category Theory is a rich toolbox of techniques to deal with complexity in building software. Unfortunately, the learning curve is steep with many abstract concepts that must be grasped before their utility is seen. This, coupled with an impenetrable vocabulary, are barriers for the average programmer to level up their capabilities, so that many of these benefits are not realized in industry.

This talk gives the working programmer an avenue to begin using the tools Category Theory gives us by building a series of small steps starting from pure functions. The stage is set by describing how complexity arises from functional side effects. Then moves on to various forms of composition, gradually adding more structure to slice the accidental complexity into manageable pieces. Some of the vocabulary used in Category Theory will be explained to give listeners some signposts in their future study of these concepts.

Listeners will leave this talk with a new perspective on the problems they face in their day-to-day programming tasks and some tools on how to address them, regardless of their chosen programming language.

I would dearly love to see the presentation that went along with these slides!

Jim also lists further references for which I have supplied links:

Monads – Wadler “Monads for Functional Programming”

Applicative Functors – McBride/Paterson “Applicative Programming with Effects”

Comonads – Kieburtz “Codata and Comonads in Haskell”

Arrows – Hughes “Generalizing Monads to Arrows”

Jim does supply the link for: Haskell Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia

I guess it comes down to this question: Are you now or do you plan to be a parallel programmer?

[…] An interesting collection of five (5) classic functional programming papers that don’t duplicate the list by Jim Duey here. […]