Dispelling magic behind Concurrency in FP

Presentation from flatMap(Oslo) 2019 by Piotr Gawryś:

Abstract

Using IO Monads for concurrency gains a lot of recognition in Scala. However, Functional Programming and JVM’s concurrency model can be challenging to learn and the learning resources are lacking. There are many terms like green threads, thread shifting, or fairness thrown around but what are these and why should we keep them in mind?

Let’s dispel some of the magic, answer these questions and see how they relate to each other and Functional Programming!