Parallel and Concurrent Programming in Haskell

The book was published in August 2013 by O’Reilly Media.

Read the book online

Where to buy

Sample Code


Feedback is very welcome: submit errata directly to O’Reilly, where it will appear in the list for everyone to see, or feel free to contact me directly.


This book explains how to write elegant and scalable code while not shying away from any of the tricky bits and corner cases – making it an essential companion for any developer!

— Andres Löh, Haskell Consultant at Well-Typed LLP

Not only does this book provide an excellent overview of Haskell as a language for concurrent and parallel programming, it is essential reading even if you are not a Haskell programmer. It will change how you think about designing and building high performance, solid software.

— Bryan O’Sullivan, Director, Developer Efficiency, Facebook

These days parallelism and concurrency are ubiquitous, but parallel and concurrent programs are typically much harder to write than sequential ones. Functional programming languages offer a radical and elegant attack on this challenge, by tackling the root cause, namely unrestricted side effects. But would-be users only have the research literature to guide them. This is the first book to offer a thorough, internally-consistent tutorial in parallel and concurrent functional programming aimed at practitioners rather than researchers. Moreover, Simon Marlow knows exactly what he is talking about: he built GHC’s parallel runtime system, and remains its master. This book will do more than a hundred research papers to get parallel functional programming out of the lab and into the hands of working programmers. Bravo!

— Simon Peyton Jones, Principal Researcher at Microsoft Research

If you’ve read the book and want to add your comments to those above, please let me know!