From Monads to Applicative Programming
Monads 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.
- Not Interested