Combining Lists, Monads & Applicative Functors

A common problem Say I am writing some code in Haskell, and I have a value of type a and a list of type [b] that I want to convert into a list of type [(a,b)] where every entry is one of the pair of the a value and one of the values from the …

A datastore is a monad transformer

In the paper attached to my last post, I proved that any data store is a monad.  Then I proved that if the data was a monoid (so it has a zero and addition) then the store is a monoid too.  And then I asserted that if the data is a monad, then so is the …

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 …