MapReduce as a monad transformer

Current status A while ago, I wrote a piece describing a simple way of implementing MapReduce as a Monad in Haskell.  As part of my further research I’ve discovered that in fact MapReduce is very naturally a Monad Transformer.  This means that given any monadic type m one can associate to it a MapReduce type …

Implementing MapReduce in Haskell

Summary MapReduce is a general technique for massively parallel programming developed by Google.  It takes its inspiration from ideas in functional programming, but has moved away from that paradigm to a more imperative approach. We have found that MapReduce can be expressed naturally, using functional programming techniques, as a form of monad, which we have …