GUM: A portable parallel implementation of Haskell

P W Trinder, Kevin Hammond, J S Mattson, A S Partridge, S L Peyton Jones

Research output: Contribution to journalArticlepeer-review

31 Citations (Scopus)


GUM is a portable, parallel implementation of the Haskell functional language. Despite sustained research interest in parallel functional programming, GUM is one of the first such systems to be made publicly available.

GUM is message-based, and portability is facilitated by using the PVM communications harness that is available on many multi-processors. As a result, GUM is available for both shared-memory (Sun SPARCserver multiprocessors) and distributed-memory (networks of workstations) architectures. The high message-latency of distributed machines is ameliorated by sending messages asynchronously and by sending large packets of related data in each message.

Initial performance figures demonstrate absolute speedups relative to the best sequential compiler technology. To improve the performance of a parallel Haskell program GUM provides tools for monitoring and visualising the behaviour of threads and of processors during execution.

Original languageEnglish
Pages (from-to)79-88
Number of pages10
JournalACM SIGPLAN Notices
Issue number5
Publication statusPublished - May 1996




Dive into the research topics of 'GUM: A portable parallel implementation of Haskell'. Together they form a unique fingerprint.

Cite this