ABSTRACT

Declarative programming languages can play an important role in the process of designing and implementing parallel systems. They bridge the gap between a highlevel specification, with proven properties of the overall system, and the execution of the system on real hardware. Efficiently exploiting parallelism on a wide range of architectures is a challenging task and should, in our view, be handled by a sophisticated runtime environment. Based on this design philosophy we have developed and formalized Glasgow parallel Haskell (GPH), and implemented it as a conservative extension of the Glasgow Haskell Compiler (GHC).