Arrow Direction One Way 536

Free Your Monads and the Rest Will Follow by Jason Litton

Arrow Direction One Way 536

Free Monads?

You'll learn all about those in this talk by Jason Litton at LambdaConf! Why would you choose them? How do they work in a production environment? Regardless of what level of developer you are, you'll enjoy this talk. 


Free Your Monads and the Rest Will Follow

Our primary business product has a strange mix of rules and flexibility. We generate reports that are generally the same in data, but have a different flavor of presentation depending on the business that we are generating them for. Last year, we began replacing the legacy workflow engine for generating our most important product with a new code base built around the free monad. It gave us a new workflow engine with strong rules around how things get done but allowing flexibility in the process in order to meet different detailed needs for our customers. The change reduced the customer onboarding time from six months or more to a couple of weeks and reduced production code lines by 80%.
In this talk, I will walk you through:
  • Our migration process. 
  • Why we chose free monads. 
  • How we built around the concept.
  • What our successes and failures were. 
  • How you can think about free monads in your production environment.
I will also show you the considerations we took to make sure ANY of our developers, even those not familiar with Scala or Category Theory could jump into the project and contribute. This talk is suited to practical development and is appropriate for all levels of developers who want to learn about Free Monads in the wild.
This talk was given by Jason Litton at LambdaConf 2018.