In April, John De Goes talked about several problems with concurrency and demonstrated how Scalaz 8 can solve those problems simply, with purely functional code, and how is possible to model actors using Scalaz 8.
Months later, the effect system of Scalaz 8 has become a new independent, zero-dependency library called «scalaz-zio».
They are a new, interesting, type-safe abstractions that provide a variety of features for building asynchronous and concurrent applications. In this presentation, I will talk about `IOQueue`, which is a type-safe queue that uses the purely-functional `IORef`.
I was honoured to contribute with John De Goes on the first version of IOQueue, which helped me to understand `Ref`, `Promise` and how to work with the `IO` bifunctor design. I will introduce these features and demonstrate some examples to put them in practice solving real-world problems.