Jump to ratings and reviews
Rate this book

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming

Rate this book
If you have a working knowledge of Haskell, this hands-on book shows you how to use the language's many APIs and frameworks for writing both parallel and concurrent programs. You'll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions.

Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented: Express parallelism in Haskell with the "Eval" monad and Evaluation Strategies Parallelize ordinary Haskell code with the Par monad Build parallel array-based computations, using the Repa library Use the Accelerate library to run computations directly on the GPU Work with basic interfaces for writing concurrent code Build trees of threads for larger and more complex programs Learn how to build high-speed concurrent network servers Write distributed programs that run on multiple machines in a network

322 pages, ebook

First published January 1, 2013

59 people are currently reading
549 people want to read

About the author

Simon Marlow

11 books5 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
106 (64%)
4 stars
46 (27%)
3 stars
11 (6%)
2 stars
1 (<1%)
1 star
1 (<1%)
Displaying 1 - 11 of 11 reviews
Profile Image for Allele.
10 reviews
December 24, 2013
This book sold me on Haskell for large systems development. Haskell's approach to parallelism (sparks, evaluation strategies, Repa, Accelerate) and its approach to concurrency (forkIO, async, etc.) is nothing short of elegant. Simon Marlow captures that elegance in this book and shows you how to harness that power.

I also appreciate the organization of this book. The first chapter gives one of the best explanations of lazy evaluation I've seen to day, as well as the potential gotchas of that laziness that you'll likely encounter in parallel settings.

Great advice and great organization. Highly recommended.
Profile Image for Vyacheslav.
1 review6 followers
August 18, 2018
One of the best technical books I've read. Simple language with a lot of details about parallel/concurrent primitives. Gives you a good understanding of exceptions (and async exceptions).

The only drawback is little bit boring real-world examples, that sometimes involve trying to understand its inner complexity instead of illustrating specific approaches.
Profile Image for Abhiroop Sarkar.
10 reviews2 followers
June 28, 2017
A very decent book on not only concurrency in Haskell, but concurrency in general. Must read for all Haskell folks.
Profile Image for Marco.
16 reviews1 follower
June 3, 2018
This is one dense book, lot to digest and to think about during, and after, reading it.

I particularly liked the example for the parallel part, real problem where parallel programming will make the difference, in the other way I'm not impress by the chat example every book I red has it, it's a good example to work with but I'd like to see something new.
All in all a really good book about parallel and concurrent programming even for someone that don't uses Haskell (in that case the example can be hard to read)
Profile Image for mht.
22 reviews2 followers
March 1, 2018
A large portion of the book is basically "how to use library X" which in itself isn't too interesting.
Profile Image for Chee Leong.
27 reviews1 follower
June 23, 2018
Provide details looks into how multiple concurrency model works under Haskell including performance profiling.
Profile Image for Gregory Blake.
36 reviews6 followers
December 16, 2015
Approachable yet challenging, this is an excellent book for anyone interested in Haskell or Parallel and Concurrent Programming from beginner to expert.

A beginner might want to read Learn You A Haskell or Real World Haskell first, simply to be familiar with the language's syntax.
Displaying 1 - 11 of 11 reviews

Can't find what you're looking for?

Get help and learn more about the design.