Parallel and Distributed Haskells

  • Authors:
  • P. W. Trinder;H.-W. Loidl;R. F. Pointon

  • Affiliations:
  • Department of Computing and Electrical Engineering, Heriot-Watt University, Edinburgh EH14 4AS, Scotland (e-mail: {Trinder,HWLoidl,RPointon}@cee.hw.ac.uk);Department of Computing and Electrical Engineering, Heriot-Watt University, Edinburgh EH14 4AS, Scotland (e-mail: {Trinder,HWLoidl,RPointon}@cee.hw.ac.uk);Department of Computing and Electrical Engineering, Heriot-Watt University, Edinburgh EH14 4AS, Scotland (e-mail: {Trinder,HWLoidl,RPointon}@cee.hw.ac.uk)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallel and distributed languages specify computations on multiple processors and have a computation language to describe the algorithm, i.e. what to compute, and a coordination language to describe how to organise the computations across the processors. Haskell has been used as the computation language for a wide variety of parallel and distributed languages, and this paper is a comprehensive survey of implemented languages. We outline parallel and distributed language concepts and classify Haskell extensions using them. Similar example programs are used to illustrate and contrast the coordination languages, and the comparison is facilitated by the common computation language. A lazy language is not an obvious choice for parallel or distributed computation, and we address the question of why Haskell is a common functional computation language.