This book covers the breadth of Haskell's diverse selection of programming APIs for concurrent and parallel programming.
It is divided into two sections. The techniques for using multiple processors to speed up CPU-intensive computations are covered in the first part, which is devoted to parallel programming. These techniques include approaches for using parallelism in both idiomatic Haskell and numerical array-based algorithms as well as for running computations on a GPU. Concurrent programming's second section addresses methods for leveraging many threads, such as overlapping I/O activities, creating concurrent network servers, and distributed programming across numerous workstations.