Parallel and distributed Haskells

P. W. Trinder, H. W. Loidl, R. F. Pointon

Research output: Contribution to journalArticle

43 Citations (Scopus)

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.

Original languageEnglish
Pages (from-to)469-510
Number of pages42
JournalJournal of Functional Programming
Volume12
Issue number4-5
Publication statusPublished - 2002

Cite this

Trinder, P. W., Loidl, H. W., & Pointon, R. F. (2002). Parallel and distributed Haskells. Journal of Functional Programming, 12(4-5), 469-510.