Clément Delafargue - Application design with a stack of monads
Functional Programming is often seen as a nice tool for small-scale concerns, not as a tool for application design. "Functional in the small, OO in the large" is often heard and sums up this idea quite well. However, functional programming comes with interesting tools aimed at solving these boring (or deemed boring) concerns: dependency inversion, observability). Aspect-Oriented-Programming is often used for this in the OO word.
A functional solution, called a monad stack, allows to combine all this cross-cutting concerns and behaviours with no magic (or not too much).
In this conference, we'll see what monad transformers are, how they work, and how to use them to structure a web application, with examples in scala and haskell.