2-3 MAY 2016 , OSLO NORWAY


flatMap(Oslo) is a functional programming conference
with focus on Scala and the Java Virtual Machine

The Eff monad, one monad to rule them all


Monad transformers are a neat way to compose effectul computations: pass some configuration, read/write from disk, track errors... However they can be a bit cumbersome to deal with, especially if you want to use different stacks sharing some common effects: for example a stack to interact with AWS and another one for Hadoop computations.

This talk will shortly introduce monad transformers in Scala and their drawbacks then present the Eff monad.

The Eff monad has some really interesting properties:

  • effects can be developed completely independently from each other
  • effects can be interpreted in different ways and the interpreters can be composed together
  • it is based on an efficient "Free monad" (avoiding the issue of quadratic flatMaps)
  • with the Eff monad you will never have to re-implement the Monad operations (point / flatMap) again!



Eric Torreborre is a software developer living in Berlin, working for Zalando. He is the creator of the specs2 library for software specifications in Scala.

Scala has been his gateway drug to functional programming and made him a more satisfied developer. When he finally understands what he is doing he tries to share it with the rest of the world.


Do you want to sponsor flatMap(Oslo)?

Send an email to flatmap@arktekk.no