The Data Parallel Haskell project is the main focus of my research. Its goal is to extend the Glasgow Haskell Compiler with support for nested data parallel programming on multicore machines.

For data parallel code to be efficient, the compiler has to do a lot of deforestation and loop fusion. The DPH project has led to a number of interesting contributions in this area, in particular stream fusion and array recycling. Both are implemented in the vector package which provides very efficient (hopefully) arrays in Haskell. Although it is still work in progress, it is already quite usable.

To be continued...