Dan Rosén on "Algebraic Effects" at TimeEdit


Details
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
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.
Algebraic Effects were introduced by Plotkin and Power in 2003, and Algebraic Effect Handlers by Plotkin and Pretnar in 2009 and have gained in popularity and implementations in the recent years, in dedicated languages such as Eff, Links, Frank and Koka, and in libraries for Haskell and Idris. The paper we will give some love this meeting is Daan Leijen's "Type directed compilation of row-typed algebraic effects" from POPL 2017. This article gives an excellent introduction to algebraic effects from a programmer's perspective. It describes his language Koka and shows how to effectively compile it into JavaScript.
--------------------
About Speaker
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.

Dan Rosén on "Algebraic Effects" at TimeEdit