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
Haskell High Performance Programming
Boost the performance of your Haskell applications using optimization, concurrency, and parallel programming About This Book …
book
Practical Concurrent Haskell: With Big Data Applications
Learn to use the APIs and frameworks for parallel and concurrent applications in Haskell. This book …
book
Developing Web Apps with Haskell and Yesod, 2nd Edition
This fast-moving guide introduces web application development with Haskell and Yesod, a potent language/framework combination that …
book
Functional Programming in Scala
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply …