Parallel and Concurrent Programming in Haskell and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading Parallel and Concurrent Programming in Haskell on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming [Paperback]

Simon Marlow

List Price: CDN$ 47.99
Price: CDN$ 45.12 & FREE Shipping. Details
You Save: CDN$ 2.87 (6%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it delivered Tuesday, October 28? Choose One-Day Shipping at checkout.


Amazon Price New from Used from
Kindle Edition CDN $25.36  
Paperback CDN $45.12  
Join Amazon Student in Canada

Book Description

Aug. 18 2013 1449335942 978-1449335946 1

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

Special Offers and Product Promotions

  • Join Amazon Student in Canada

Frequently Bought Together

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming + Real World Haskell: Code You Can Believe In + Learn You a Haskell for Great Good!: A Beginner's Guide
Price For All Three: CDN$ 124.78

Customers Who Bought This Item Also Bought

Product Details

Product Description

Book Description

Techniques for Multicore and Multithreaded Programming

About the Author

Simon Marlow has been a prominent figure in the Haskell community formany years. He is the author of large parts of the Glasgow HaskellCompiler, including in particular its highly regarded mulitcoreruntime system, along with many of the libraries and tools thatHaskell programmers take for granted. Simon also contributes to thefunctional programming research community, and has a string of paperson subjects ranging from garbage collection to language design. Inrecent years Simon's focus has been on making Haskell an idealprogramming language for parallel and concurrent applications, both bydeveloping new programming models and building a high-qualityimplementation.

Simon spent 14 years at Microsoft's Research laborotory in Cambridge,before taking a break in Spring 2013 to work on this book. Hecurrently works at Facebook UK.

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on (beta) 5.0 out of 5 stars  5 reviews
5 of 6 people found the following review helpful
5.0 out of 5 stars Safe to buy before you try Oct. 4 2013
By VoyTech - Published on
The book is freely available on-line, so you can "try before you buy". But it is written by one of the two great Simons of Haskell, so you can safely "buy before you try", just like I did.

The book consists of two parts:
I) Parallelism. I enjoyed reading this part very much, because I have almost no experience in using multiple CPUs to speed up computations. Conclusion: with Haskell it is almost ridiculously easy, as compared to -say- MPI.
II) Concurrency. I have substantial of experience, in many languages, including Erlang. Well, concurrency is still hard, even with Haskell. It is definitely a virtue of the book, that it _does_not_pretend_otherwise_. But perhaps it is more manageable now, see for yourself.

For me, this book was the final argument that Haskell has matured to be (probably the most) versatile tool for software development.
4 of 5 people found the following review helpful
5.0 out of 5 stars A must-have for any "real world" Haskell programmers Sept. 13 2013
By Amadeo - Published on
This book is short, very clear and covers lots of ground.

As stated by the author in the preface, you can get most out of the book if you already know how to write functional Haskell programs and how to use monads, etc. Then the first part of the book will teach you how to make your pure codes run extremely fast (and it is really easy to do so in Haskell), whereas the second part of the book will teach you how to structure the pieces of your programs together to form a real world application.

For those who still do not have the prerequisites to benefit most from the book, I think a good place to start would be the book Real World Haskell (which is already a bit dated). The current book treats the topics of chapters 24, 28 and parts of chapter 25 of Real World Haskell in much more details, with lots of modern additions.
1 of 1 people found the following review helpful
5.0 out of 5 stars The Book for Par/Conc. Programming in Haskell Dec 31 2013
By Alejandro Cabrera - Published on
Format:Kindle Edition
Disclaimer: I'm reviewing this book under the O'Reilly Blogger Review program. (though I ended up purchasing a hard copy afterwards any way.)

This is The Book that sold me on Haskell for concurrent and parallel programming. Sure, I've read several articles on the benefits of functional languages for programming in the multi-core world, but that didn't really sink in until I saw how elegant it could be in a functional language.

In brief, the main benefits I got from reading this this book were:

* Surveyed parallel programming (in Haskell)
* Surveyed concurrent programming (in Haskell)
* Saw the elegance of the approaches for myself
* Learned about laziness gotchas in parallel contexts
* Learned a bit about what's next and left to improve
* Learned what modules to turn to and watch when in need

I hope I never have to look at OpenCL or CUDA C++ again for parallel programming. The way Repa/Accelerate handles this is beautiful.

The chapters on concurrent programming showed me how much having concurrency primitives built into a language change async programming. Having forkIO to run subsequent computations and a scheduler in the run-time make it very convenient.

In sum, I highly recommend this book. 10/10, one of my top 10 books of 2013.

For Kindle readers: the code samples display wonderfully. No need to squint - the fonts were well chosen.
3 of 4 people found the following review helpful
5.0 out of 5 stars Wonderful for library and application developers Oct. 22 2013
By Gavin Beatty - Published on
Format:Paperback|Verified Purchase
Key libraries are explained and implemented from the ground up, while simultaneously teaching application developers how to use each level of abstraction. Many practical problems are dealt with as well, such as performance profiling, and debugging. Excellent.
5.0 out of 5 stars this book is absolutely amazing for parallel + concurrent programming July 29 2014
By Anon - Published on
Format:Paperback|Verified Purchase
This book is NOT meant as a first book in Haskell.

For that, I would suggest "Learn You A Haskell" or "Real World Haskell."

However, this book is absolutely amazing for parallel + concurrent programming. The book looks thin, but it's packed with technical insight and details.

Look for similar items by category