When you’re sitting in front of a keyboard at work, how does functional programming influence the code you write? To explore this, this talk will work through some everyday programming tasks as seen through the eyes of a functional programmer.

We’ll look patterns from functional programming that include: moving effects to the edge of the code; separating representation from computation; making use of a modern compiler and type system to represent the problem; and letting the compiler do some of your work for you.

I’ll argue that these technologies, principled ideas, and patterns lead to clearer code that is also easier to change. The language of choice is Scala, but you don’t need experience with Scala to attend.