@InCollection{par-tutorial-cefp-2012,
   author = {Simon Marlow},
   title = {Parallel and Concurrent Programming in {H}askell},
   booktitle = {CEFP 2011},
   year = {2012},
   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, MVars,
asynchronous exceptions, Software Transactional Memory, the Foreign
Function Interface, and briefly look at the construction of high-speed
network servers in Haskell.
},
   url = {http://community.haskell.org/~simonmar/papers/par-tutorial-cefp-2012.pdf},
   pages = {339--401},
   volume = {7241},
   series = {LNCS},
   editor = {V. Zs\'ok and Z. Horv\'ath and R. Plasmeijer}
}