Distributed storage in Haskell

As a part of my general programme of developing  a distributed monadic MapReduce implementation in Haskell (as described here), I have been working slowly on the distributed infrastructure required to do this, using CloudHaskell.  I have now succeeded in producing a very general proof-of-concept for distributed storage. This introduces some interesting challenges, as we want… Continue reading Distributed storage in Haskell

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… Continue reading MapReduce as a monad transformer

Steps towards Haskell in the cloud

Introduction I have a considerable interest in the use of massively parallel cloud systems for handling hard problems, but unfortunately they currently rely on extremely complex infrastructure that is quite intrusive when it comes to writing applications.  My intention is, and has been, to find a simple framework that can be used to provide cloud… Continue reading Steps towards Haskell in the cloud

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… Continue reading Implementing MapReduce in Haskell