Parallel and concurrent programming in Haskell

  • Authors:
  • Simon Marlow

  • Affiliations:
  • Microsoft Research Ltd., Cambridge, U.K.

  • Venue:
  • CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Haskell provides a rich set of abstractions for parallel and concurrent programming. This tutorial covers the basic concepts involved in writing parallel and concurrent programs in Haskell, and takes a deliberately practical approach: most of the examples are real Haskell programs that you can compile, run, measure, modify and experiment with. We cover parallel programming with the @Eval@ monad, Evaluation Strategies, and the @Par@ monad. On the concurrent side, we cover threads, @MVar@s, asynchronous exceptions, Software Transactional Memory, the Foreign Function Interface, and briefly look at the construction of high-speed network servers in Haskell.