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
Publisher resources
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
Get Programming with Haskell
Get Programming with Haskell introduces you to the Haskell language without drowning you in academic jargon …
video
Learning Haskell Programming
Haskell is a powerful and well-designed functional programming language designed to work with complex data. Its …
book
Practical Haskell: A Real-World Guide to Functional Programming
Get a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the …
book
Haskell in Depth
Turn the corner from “Haskell student” to “Haskell developer.” Haskell in Depth explores the important language …