Which parts of functional programming can be applied directly to your work?
“… most if not all constructions in category theory are parametric in the underlying category, resulting in a remarkable economy of expression. Perhaps, we should spend more time and effort into utilising this economy for programming. This possibly leads to a new style of programming, which could be loosely dubbed as category-parametric programming.” —Ralf Hinze, Adjoint Folds and Unfolds.
There is a lot of talk about Category Theory in the world of functional programming. However, it can be quite confusing to figure out which parts of it can be applied directly in your work, and which parts are a bit more hand-wavy. I’ll introduce everything we need from category theory and we’ll discuss what you can take advantage of in Scala as well as which aspects create some tension with Scala ergonomics. You should leave this talk with some more clarity in design decisions and some new things to consider when deciding what approach makes the most sense in various situations.