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
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.
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.
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)
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.