Monad Transformer Stateby Michael Snoyman 33:46 10488 views 100% Published 4 years ago
Everything you didn’t want to know about monad transformer state was a presentation given as part of Lambda World 2017 by Michael Snoyman.
-https://www.47deg.com/events for more details
Monad transformers are often used in Haskell applications to model state, capture results, and deal with explicit exceptions. In order to make these monad transformer stacks work with concurrency primitives, runtime exceptions, and more, we'll often use libraries like lifted-base, lifted-async, monad-control, and exceptions. But contrary to the expectations of many, surprising things can happen with the implicit state of our transformers. This talk will explain the problem, demonstrate where surprising behavior pops up, and recommend ways to structure your libraries and applications to sidestep the issue entirely.