July 2023
Intermediate to advanced
670 pages
17h 13m
English
So far in this book, we’ve spent most of our time focused on designing programs at a high level, and making use of the features Haskell gives us to build useful abstractions. In most cases, we’ve been relying on the compiler to generate code that’s “fast enough” while we focus on designing an application that’s easy to write and maintain. Unfortunately, compilers aren’t perfect, and we often have opportunities to change our implementation to get better performance from our programs. You’ve already seen a few small examples of writing code to be more mindful of performance requirements, like when you learned about space leaks and bang patterns.
In this chapter, you’ll build a text processing library that ...