u/snoyjerkin r/haskell • Recommends
Everything you didn’t want to know about monad transformer state
#monadtransformers#haskell#monad-control
10K subscribers • 14 videos on Hallway
Advanced. Deep dive for people who know the field.
14K views8 years ago1 recommendation
Programming languagesSoftware designHaskellFunctional programmingConcurrency and parallelism
Michael Snoyman explains the surprising behaviors of implicit state in monad transformers and how to structure Haskell applications safely.
Everything you didn’t want to know about monad transformer state was a presentation given as part of Lambda World 2017 by Michael Snoyman. Follow: -twitter.com/47deg -twitter.com/lambda_world -twitter.com/snoyberg Visit: -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.What people say. Recommended for its deep dive into the complexities and pitfalls of monad transformer state in concurrent Haskell applications.
u/snoyjerkin r/haskell • Recommends