Get your ticket to attend. Join event to build your agenda.

An introduction to recursion schemes

Join Stream

Nicolas is the CTO of [Besedo](, where we use Scala to moderate large volumes of user generated content and do weird things to machine learning models._x000D_ _x000D_ After too many years as a Java programmer and a thankfully brief stint in marketing, Nicolas discovered Functional Programming through Scala and fell in love. Since then, he's made it his mission to learn and explain the scary bits, by focusing on practical applications._x000D_ _x000D_ Nicolas is also the author and sole maintainer of a few useful OSS libraries, such as [kantan.csv](

Recursion schemes are a topic that often come up in conversations with experienced, knowledgeable developers. For the longest time, I’d just nod and smile and pretend I knew what was going on.

The purpose of this talk is to help people in the same situation. Recursion schemes are far less scary and confusing than the mystique that surrounds them suggests, and this talk attempts to prove it.

We’ll start from first principles and refactor our way to proper recursion schemes, discovering and explaining all the necessary concepts as we go along.

By the end of the talk, attendants should have all the tools they need to understand recursion schemes, and be able to explore the more esoteric ones on their own.