The Design of the Scalaz 8 Effect System by John De Goes
We are so grateful to have had the amazing chance to work with John De Goes recently, he is a great inspiration to us and has given us an opportunity to learn and help improve our Scala knowledge. Therefore, today we have a talk given by John from Scale by the Bay last year on The Design of the Scalaz 8 Effect System. We can't wait to head along to San Francisco for Scale by the Bay this year, we hope to see you there!
The Design of the Scalaz 8 Effect System
Purely functional Scala code needs something like Haskell's IO monad—a construct that allows functional programs to interact with external, effectful systems in a referentially transparent way. To date, most effect systems for Scala have fallen into one of two categories: pure, but slow or inexpressive; or fast and expressive, but impure and unprincipled. In this talk, John A. De Goes, the architect of Scalaz 8’s new effect system, introduces a novel solution that’s up to 100x faster than Future and Cats Effect, in a principled, modular design that ships with all the powerful primitives necessary for building complex, real-world, high-performance, concurrent functional programs.
Thanks to built-in concurrency, high performance, lawful semantics, and rich expressivity, Scalaz 8's effect system may just be the effect system to attract the mainstream Scala developers who aren't familiar with functional programming.