Why do you need the IO monad in Scala? And how does it work?
The Making of an IO
All applications, eventually, come down to IO. Well, unless you have uncontrolled side-effects, which would be weird and horrible.
This talk explores not only why you want the IO monad in Scala (i.e. why side-effects are weird and horrible), but also how it works. Specifically, we'll be looking at the new cats-effect project, which introduces not only a production-viable IO type for the cats framework, but also a set of typeclasses and rigorous laws for characterizing what an effect type is and how it should behave.