Purifying code with algebra

September 16, 2016

In this talk, we look at an approach to abstracting IO out of Haskell functions by representing side effects as generalized algebraic data types, and implementing a side-effecting "top-level" interpreter for them.