1:45 PM Saturday Room: 4218Monads is the proven way to build total code (the one that does not throw up when it encounters an exceptional situation); the problem with monads they don't compose.
Applicative Functors are a weaker form of monad, and they provide robust and parallelizable calculation framework; map/reduce is one popular example of applicative functors in practice.
In this talk I demonstrate refactoring from traditional-style code to applicative style.
I start with Java samples, but then gradually switch to Scala, since it provides the proper language infrastructure.
MacBride and Paterson's paper, "Functional Pearls" is the source of code examples.