Book description
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
Table of contents
- Parallel and Concurrent Programming in Haskell
- Preface
- 1. Introduction
-
I. Parallel Haskell
- 2. Basic Parallelism: The Eval Monad
- 3. Evaluation Strategies
- 4. Dataflow Parallelism: The Par Monad
- 5. Data Parallel Programming with Repa
- 6. GPU Programming with Accelerate
-
II. Concurrent Haskell
- 7. Basic Concurrency: Threads and MVars
- 8. Overlapping Input/Output
- 9. Cancellation and Timeouts
- 10. Software Transactional Memory
- 11. Higher-Level Concurrency Abstractions
- 12. Concurrent Network Servers
- 13. Parallel Programming Using Threads
- 14. Distributed Programming
- 15. Debugging, Tuning, and Interfacing with Foreign Code
- Index
- About the Author
- Colophon
- Copyright
Product information
- Title: Parallel and Concurrent Programming in Haskell
- Author(s):
- Release date: July 2013
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781449335908
You might also like
book
Flow Architectures
Software development today is embracing events and streaming data, which optimizes not only how technology interacts …
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Programming TypeScript
Any programmer working with a dynamically typed language will tell you how hard it is to …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …