We're back from summer for more on functional programming! :D
Dan Rosén will be giving a talk on Algebraic effects at this meetup based on the paper "Type Directed Compilation of Row-Typed Algebraic Effects" by Daan Leijen.
For who ever is wondering, algebraic effects are an alternative to monads for modeling side-effects (e.g. input/output, state, or exceptions) in an otherwise
pure functional language. The paper can be read online here: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/algeff.pdf
The wonderful folks at TimeEdit have agreed to host this event. They will be providing some food and drinks too! ;)
Below, you can find the abstract for the talk and the speaker's bio.
Algebraic Effects offer a simple and uniform interface to program effects. They are very expressive: they can capture patterns usually hard-wired into programming languages, such as exceptions, generators (yield), asynchronicity (async and await). Further, they offer a principled approach to impurity: state, heap effects and IO. In comparison to monads they compose in the sense that they can be run in any order (without quadratic encodings such mtl's), and the run functions are easier to implement.
Bio: Dan Rosén has a MSc in CS and Licentiate Degree from Chalmers about theorem proving for functional programs. He is a systems developer at Språkbanken, University of Gothenburg, mainly doing ML and front-end development. In his spare time he cannot stop himself searching for better programming languages.