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 archite
![The Design of the Scalaz 8 Effect System](https://cdn-ak-scissors.b.st-hatena.com/image/square/4c3ac83f558175f0cf9305671f85bc9d022edd65/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fscalaz-io-171116230614-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)