Special thanks to the Haskell Foundation for supporting the production of this video!
Haskell Love 2021 schedule: https://emamo.com/event/haskell-love
Haskell Love twitter: / _haskellove
Lazy evaluation is one of the features that sets Haskell drastically apart from other mainstream languages. Because it is so alien, it is often a stumbling block for beginners. Yet among advanced practitioners, the lazy-by-default dogma is rarely questioned.
This talk will dive into the Strict language extension, explaining what it is and what it isn't. We will see that the extension is not a brute-force tool for cutting out laziness, but a small adjustment to Haskell's evaluation strategy that affords precision to detect and control performance bugs. We will show how Strict Haskell can allow us to reason about strictness and laziness at the type level, and other practices developed in the course of porting a 100 kLoC application from lazy to Strict.