What makes programs go fast?

In this chapter we'll explore how Haskell behaves under the hood.

We'll take a look at Haskell's evaluation semantics, laziness/strictness and how to control it, how to represent data wrt performance, allocation and its affect on performance, how various GHC affect performance, and more.