Algebraic effects and handlers refers to a style of programming which combines algebraic effects with a handling construct. The handling construct intercepts any effects that have been performed, and reinterprets them in some way (perhaps purely functionally, perhaps using a different set of effects).
Community-maintained effects bibliography on GitHub.
Algebraic effects and handlers were introduced by Gordon Plotkin and Matija Pretnar in an ESOP 2009 paper, whose journal version appeared at LMCS in 2013 (under a very similar, but not identical, title):
Plotkin, Gordon, and Matija Pretnar. ‘Handlers of Algebraic Effects’. In Programming Languages and Systems, edited by Giuseppe Castagna, 5502:80–94. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. https://doi.org/10.1007/978-3-642-00590-9_7. [pdf]
@inproceedings{castagna_handlers_2009,
location = {Berlin, Heidelberg},
title = {Handlers of Algebraic Effects},
volume = {5502},
doi = {10.1007/978-3-642-00590-9_7},
series = {Lecture Notes in Computer Science},
pages = {80--94},
booktitle = {Programming Languages and Systems},
publisher = {Springer Berlin Heidelberg},
author = {Plotkin, Gordon and Pretnar, Matija},
editor = {Castagna, Giuseppe},
date = {2009},
file = {Plotkin and Pretnar - 2009 - Handlers of Algebraic Effects.pdf:C\:\\Users\\Alex\\Zotero\\storage\\Z8EFRUMP\\Plotkin and Pretnar - 2009 - Handlers of Algebraic Effects.pdf:application/pdf},
}
Plotkin, Gordon, and Matija Pretnar. ‘Handling Algebraic Effects’. Edited by Andrzej Tarlecki. Logical Methods in Computer Science 9, no. 4 (2013): 23. https://doi.org/10.2168/LMCS-9(4:23)2013.
@article{plotkin_handling_2013,
title = {Handling Algebraic Effects},
volume = {9},
doi = {10.2168/LMCS-9(4:23)2013},
pages = {23},
number = {4},
journaltitle = {Logical Methods in Computer Science},
author = {Plotkin, Gordon and Pretnar, Matija},
editor = {Tarlecki, Andrzej},
date = {2013},
file = {Plotkin and Pretnar - 2013 - Handling Algebraic Effects.pdf:C\:\\Users\\Alex\\Zotero\\storage\\5CJ4EUVU\\Plotkin and Pretnar - 2013 - Handling Algebraic Effects.pdf:application/pdf},
}
Andrej Bauer gave an introduction to programming with effects and handlers at OPLSS 2018: video, notes
The following paper, which was an invited talk at MFPS, is a tutorial to the subject:
Pretnar, Matija. 2015. ‘An Introduction to Algebraic Effects and Handlers. Invited Tutorial Paper’. Electronic Notes in Theoretical Computer Science 319: 19–35. https://doi.org/10.1016/j.entcs.2015.12.003. pdf
@article{pretnar_introduction_2015,
title = {An {Introduction} to {Algebraic} {Effects} and {Handlers}. {Invited} tutorial paper},
volume = {319},
issn = {15710661},
doi = {10.1016/j.entcs.2015.12.003},
language = {en},
journal = {Electronic Notes in Theoretical Computer Science},
author = {Pretnar, Matija},
month = dec,
year = {2015},
pages = {19--35},
file = {Pretnar - 2015 - An Introduction to Algebraic Effects and Handlers..pdf:C\:\\Users\\tz20861\\Zotero\\storage\\GINV7RBD\\Pretnar - 2015 - An Introduction to Algebraic Effects and Handlers..pdf:application/pdf}
}