Implementing async with coroutines and fibers - project Loom in C#
In this talk we will learn how async is implemented, see what problems it creates, and explore other possible approaches. We will reimplement some of its features with monads, coroutines, and fibers to see how it could look like in an alternative world. We'll see if we can do better than the thread-pool based approach.
This is loosely related to project Loom in JVM world which explores fibers to improve threading.