The History of GpH

  • Around 1990 the par and pseq primitives were used in a parallel extension of Lazy ML (LML) on the novel GRIP parallel graph reduction machine (Hammond and Peyton-Jones 1990).
  • From 1995 onwards the GranSim Profiler was developed for GpH programs. GranSim was extended as GranCC for parallel cost centre profiling, and GranSP for profiling strategies.
  • In 1996 evaluation strategies that abstract over the par and pseq primitives were developed for the GUM distributed-memory parallel Haskell implementation (Trinder et al. 1998).
  • Around 2000 evaluation strategies are used alongside processes in the Eden parallel Haskell variant (Klusik et al. 2000).
  • In 2000 Glasgow Distributed Haskell (GdH) is designed as a superset of GpH supporting distributed stateful threads.
  • In 2001 systematic generic data clustering was developed to improve locality and granularity (Loidl et al. 2001).
  • In 2008 evaluation strategies provide effective parallelism for the GHC shared memory parallel Haskell implementation (Marlow et al. 2009).
  • In 2010 a new version of evaluation strategies was developed that are more generic and more efficient and that can directly express embedded strategies (Marlow et al. 2010).