GUM is a portable, parallel implementation of the Haskell functional l
anguage. Despite sustained research interest in parallel functional pr
ogramming, GUM is one of the first such systems to be made publicly av
ailable. GUM is message-based, and portability is facilitated by using
the PVM communications harness that is available on many multi-proces
sors. As a result, GUM is available for both shared-memory (Sun SPARCs
erver multiprocessors) and distributed-memory (networks of workstation
s) architectures. The high message-latency of distributed machines is
ameliorated by sending messages asynchronously and by sending large pa
ckets of related data in each message. Initial performance figures dem
onstrate absolute speedups relative to the best sequential compiler te
chnology. To improve the performance of a parallel Haskell program GUM
provides tools for monitoring and visualising the behaviour of thread
s and of processors during execution.