Skip to content

Latest commit

 

History

History
1176 lines (865 loc) · 51 KB

README.md

File metadata and controls

1176 lines (865 loc) · 51 KB

Effects bibliography

A collection of research papers and other resources related to the theory and practice of computational effects.

Instructions

Software

See also the Effects and handlers Rosetta stone, a comparison of how computational effects and handlers are implemented in various programming languages.

  • Coop: A prototype programming language for programming with runners
    by Andrej Bauer and Danel Ahman
    (GitHub)

  • Desk: A statically-typed functional language with an effect system based on set-operation
    by Ryo Hirayama from Hihaheho Studio
    (GitHub) (an effects tutorial article)

  • Eff: programming language with algebraic effects and handlers
    by Andrej Bauer and Matija Pretnar
    (www)

  • Eff in F#: A library for programming with algebraic effects in F#
    by Nick Palladinos
    (GitHub)

  • Effects.js: algebraic effects for Javascript based on Koka and Eff
    by Jason Butler
    (GitHub)

  • Effekt Language: A research language with effect handlers and lightweight effect polymorphism
    by Jonathan Brachthäuser, Philipp Schuster, and Klaus Ostermann
    (www)

  • EvEff: A Haskell library for programming with evidence-translated effect handlers
    by Daan Leijen and Ningning Xie
    (GitHub)

  • Extensible effects: a Haskell library for effects
    by Oleg Kiselyov
    (hackage) (www)

  • F*: an ML-like effectful dependently typed functional programming language aimed at program verification
    by Microsoft Research and Inria
    (www)

  • Frank: programming language with first-class handlers, invisible effect variables, and multihandlers
    by Sam Lindley, Conor McBride, and Craig McLaughlin
    (GitHub)

  • Freak: a programming language with coalgebraic effects and cohandlers
    by Mateusz Urbańczyk
    (GitHub)

  • Fused effects: a Haskell library for effects
    by Rob Rix
    (hackage) (GitHub)

  • Helium: a functional programming language with effect handlers and an ML-like module system
    by Dariusz Biernacki, Maciej Piróg, Piotr Polesiuk, and Filip Sieczkowski
    (BitBucket)

  • Idris Effects: library for algebraic effects and handlers in Idris - inspired by Eff language
    by Edwin Brady
    (www) (GitHub)

  • Koka: a function-oriented language with effect inference
    by Daan Leijen
    (GitHub)

  • Links effect handlers: an effect handlers extension for the Links web programming language
    by Daniel Hillerström and Sam Lindley
    (www) (GitHub)

  • Multicore OCaml: a multicore + effect handlers extension for OCaml
    by Stephen Dolan, Anil Madhavapeddy, KC Sivaramakrishnan, Leo White, and Jeremy Yallop
    (GitHub) (now incorporated into OCaml 5+)

  • Polysemy: a Haskell library for effects
    by Sandy Maguire
    (hackage) (GitHub)

  • Pyro: a deep universal probabilistic programming language
    by Uber AI Labs
    (www)

  • Scala Effekt: extensible algebraic effects with handlers in Scala
    by Jonathan Brachthäuser
    (GitHub)

  • Unison: a programming language with effects called abilities, inspired by Frank
    by Unison Computing
    (www) (GitHub)

  • WasmFXtime: A fork of Wasmtime extended with support for effect handlers
    by Luna Phipps-Costin, Frank Emrich, and Daniel Hillerström
    (www) (GitHub)

  • Wasm/k: WebAssembly, extended with support for first-class continuations
    by Donald Pinckney
    (www) (GitHub)

  • Æff: An interactive interpreter for asynchronous algebraic effects
    by Matija Pretnar and Danel Ahman
    (www) (GitHub)

  • atnos-org/eff: extensible effects for Cats in Scala
    by Eric Torreborre
    (www) (GitHub)

  • cpp-effects: effect handlers in C++
    by Maciej Piróg
    (GitHub)

  • libhandler: an implementation of algebraic effects and handlers in portable C99
    by Daan Leijen
    (GitHub)

  • libmprompt: robust multi-prompt delimited control and effect handlers in C/C++
    by Daan Leijen
    (GitHub)

  • multicont: continuations with multi-shot semantics in OCaml
    by Daniel Hillerström
    (GitHub)

  • shonky: a dynamically typed variant of Frank with C-like syntax
    by Conor McBride
    (GitHub)

  • Turbolift: algebraic effects for Scala 3
    by Marcin Żebrowski
    (www) (GitHub)

  • Enterprise: library for creating HTTP services using algebraic effects and handlers (Turbolift)
    by Marcin Żebrowski
    (GitHub)

Tutorials

2022

  • Effect-Handler Oriented Programming (lecture given at SPLV)
    by Sam Lindley
    (YouTube) (slides)

  • Effect handler oriented programming (lecture series given at OPLSS)
    by Sam Lindley
    (Videos: 1, 2, 3, 4)
    (Notes: 1, 2, 3, 4)

2018

2017

  • Concurrent Programming with Effect Handlers (tutorial given at CUFP)
    by Daniel Hillerström and KC Sivaramakrishnan
    (www) (GitHub)

2015

  • An Introduction to Algebraic Effects and Handlers (MFPS 2015)
    by Matija Pretnar
    (dblp) (bibtex) (doi) (pdf)

Papers

2023

  • From Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect Handlers (OOPSLA 2023)
    by Marius Müller, Philipp Schuster, Jonathan Lindegaard Starup, Klaus Ostermann, and Jonathan Immanuel Brachthäuser
    (doi) (pdf)

  • Continuing WebAssembly with Effect Handlers (OOPSLA 2023)
    by Luna Phipps-Costin, Andreas Rossberg, Arjun Guha, Daan Leijen, Daniel Hillerström, KC Sivaramakrishnan, Matija Pretnar, and Sam Lindley
    (doi) (arxiv)

  • Typed equivalence of labeled effect handlers and labeled delimited control operators (PPDP 2023)
    by Kazuki Ikemori, Youyou Cong, and Hidehiko Masuhara
    (pdf) (bibtex)

  • A General Fine-Grained Reduction Theory for Effect Handlers (ICFP 2023)
    by Filip Sieczkowski, Mateusz Pyzik, and Dariusz Biernacki
    (doi) (pdf)

  • With or Without You: Programming with Effect Exclusion (ICFP 2023)
    by Matthew Lutze, Magnus Madsen, Philipp Schuster, and Jonathan Immanuel Brachthäuser
    (doi) (pdf)

  • Hefty Algebras: Modular Elaboration of Higher-Order Algebraic Effects (POPL 2023)
    by Casper Bach Poulsen and Cas Van Der Rest
    (doi) (pdf)

  • Towards a Reflection for Effect Handlers (PEPM 2023)
    by Youyou Cong and Kenichi Asai
    (doi)

2022

  • Modular probabilistic models via algebraic effects (ICFP 2022)
    by Minh Nguyen, Roly Perera, Meng Wang, and Nicolas Wu
    (pdf)

  • Automated Temporal Verification for Algebraic Effects (APLAS 2022)
    by Yahui Song, Darius Foo, and Wei-Ngan Chin
    (pdf)

  • First-class Names for Effect Handlers (OOPSLA 2022)
    by Ningning Xie, Youyou Cong, Kazuki Ikemori, and Daan Leijen
    (pdf)

  • High-level effect handlers in C++ (OOPSLA 2022)
    by Dan Ghica, Sam Lindley, Marcos Maroñas Bravo, and Maciej Piróg
    (pdf)

  • Algebraic effects for extensible dynamic semantics (Journal of Logic, Language and Information)
    by Julian Grove and Jean-Philippe Bernardy
    (pdf)

  • A Typed Continuation-Passing Translation for Lexical Effect Handlers (PLDI 2022)
    by Philipp Schuster, Jonathan Immanuel Brachthäuser, Marius Müller, and Klaus Ostermann
    (doi) (pdf)

  • Structured Handling of Scoped Effects (ESOP 2022)
    by Zhixuan Yang, Marco Paviotti, Nicolas Wu, Birthe van den Berg, and Tom Schrijvers
    (pdf) (pdf (extended version))

  • Effects, Capabilities, and Boxes: From Scope-Based Reasoning to Type-Based Reasoning and Back (OOPSLA 2022)
    by Jonathan Immanuel Brachthäuser, Philipp Schuster, Edward Lee, and Aleksander Boruch-Gruszecki
    (pdf)

2021

  • Efficient Compilation of Algebraic Effect Handlers (OOPSLA 2021)
    by Georgios Karachalias, Filip Koprivec, Matija Pretnar, and Tom Schrijvers
    (doi) (pdf)

  • Latent Effects for Resuable Language Components (APLAS 2021)
    by Birthe van den Berg, Tom Schrijvers, Casper Bach Poulsen, and Nicolas Wu
    (doi) (arxiv) (pdf (extended version))

  • Composing UNIX with Effect Handlers (ML Workshop 2021)
    by Daniel Hillerström
    (pdf)

  • Safe mutation with algebraic effects (Haskell 2021)
    by Hashan Punchihewa and Nicolas Wu
    (doi) (pdf)

  • Contextual Modal Types for Algebraic Effects and Handlers (ICFP 2021)
    by Nikita Zyuzin and Aleksandar Nanevski
    (doi) (pdf)

  • Reasoning about Effect Interaction by Fusion (ICFP 2021)
    by Zhixuan Yang and Nicolas Wu
    (doi) (pdf) (extended pdf)

  • Generalized Evidence Passing for Effect Handlers (ICFP 2021)
    by Ningning Xie and Daan Leijen
    (doi) (pdf)

  • A Functional Abstraction of Typed Invocation Contexts (FSCD 2021)
    by Youyou Cong, Chiaki Ishio, Kaho Honda, and Kenichi Asai
    (pdf) (doi)

  • Derivation of a Virtual Machine For Four Variants of Delimited-Control Operators (FSCD 2021)
    by Maika Fujii and Kenichi Asai
    (pdf) (doi)

  • Contextual Effect Polymorphism Meets Bidirectional Effects (Extended Abstract) (TyDe 2021)
    by Kazuki Niimi, Youyou Cong, and Jonathan Immanuel Brachthäuser
    (pdf)

  • Formalising Algebraic Effects with Non-Recoverable Failure (HOPE 2021)
    by Timotej Tomandl and Dominic Orchard
    (pdf)

  • First-class Named Handlers (HOPE 2021)
    by Ningning Xie, Youyou Cong, and Daan Leijen
    (pdf)

  • Higher-Order Asynchronous Effects (HOPE 2021)
    by Danel Ahman, Matija Pretnar, and Janez Radešček
    (pdf)

  • Handler Calculus (HOPE 2021)
    by Sam Lindley
    (pdf)

  • Retrofitting Effect Handlers onto OCaml (PLDI 2021)
    by KC Sivaramakrishnan, Stephen Dolan, Leo White, Tom Kelly, Sadiq Jaffer, and Anil Madhavapeddy
    (arxiv) (pdf)

  • Automatic Differentiation via Effects and Handlers: An Implementation in Frank (PEPM 2021)
    by Jesse Sigal
    (arxiv)

  • Staged Effects and Handlers for Modular Languages with Abstraction (PEPM 2021)
    by Casper Bach Poulsen, Cas van der Rest, and Tom Schrijvers
    (pdf)

  • A Separation Logic for Effect Handlers (POPL 2021)
    by Paulo Emílio de Vilhena and François Pottier
    (pdf)

  • Asynchronous Effects (POPL 2021)
    by Danel Ahman and Matija Pretnar
    (arxiv) (doi) (pdf)

2020

  • Graded Algebraic Theories (FoSSaCS 2020)
    by Satoshi Kura
    (pdf)

  • Modular verification of programs with effects and effects handlers (FAOC 2020)
    by Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, and Guillaume Hiet
    (doi)

  • Not by equations alone: reasoning with extensible effects (JFP 2020)
    by Oleg Kiselyov, Shin-Cheng Mu, and Amr Sabry
    (pdf)

  • Automatic Reparameterisation of Probabilistic Programs (ICML 2020)
    by Maria I. Gorinova, Dave Moore, and Matthew D. Hoffman
    (pdf)

  • Compiling Symbolic Execution with Staging and Algebraic Effects (OOPSLA 2020)
    by Guannan Wei, Oliver Bračevac, Shangyin Tan, and Tiark Rompf
    (doi) (pdf)

  • Composing Effects into Tasks and Workflows (Haskell 2020)
    by Yves Parès, Jean-Philippe Bernardy, and Richard A. Eisenberg
    (doi) (pdf)

  • Handling Bidirectional Control Flow (OOPSLA 2020)
    Yizhou Zhang, Guido Salvaneschi, and Andrew C. Myers
    (pdf)

  • Degrading Lists (PPDP 2020)
    by Dylan McDermott, Maciej Piróg, and Tarmo Uustalu
    (doi) (pdf)

  • Wasm/k: Delimited Continuations for WebAssembly (DLS 2020)
    by Donald Pinckney, Arjun Guha, and Yuriy Brun
    (pdf)

  • A Complete Normal-Form Bisimilarity for Algebraic Effects and Handlers (FSCD 2020)
    by Dariusz Biernacki, Sergueï Lenglet, and Piotr Polesiuk
    (doi) (pdf)

  • A Reflection on Continuation-Composing Style (FSCD 2020)
    by Dariusz Biernacki, Mateusz Pyzik, and Filip Sieczkowski
    (doi) (pdf)

  • Effect Handlers in Haskell, Evidently (Haskell 2020)
    by Ningning Xie and Daan Leijen
    (pdf)

  • Effects as capabilities: effect handlers and lightweight effect polymorphism (OOPSLA 2020)
    by Jonathan Brachthäuser, Philipp Schuster, and Klaus Ostermann
    (doi) (pdf)

  • One-shot Algebraic Effects as Coroutines (TFP 2020)
    by Satoru Kawahara and Yukiyoshi Kameyama
    (doi) (pdf)

  • Generalized Monoidal Effects And Handlers (JFP 2020)
    by Ruben P. Pieters, Exequiel Rivas, and Tom Schrijvers
    (pdf)

  • Signature restriction for polymorphic algebraic effects (ICFP 2020)
    by Taro Sekiyama, Takeshi Tsukada, and Atsushi Igarashi
    (pdf)

  • Effects for Efficiency: Asymptotic Speedup with First-Class Control (ICFP 2020)
    by Daniel Hillerström, Sam Lindley, and John Longley
    (arxiv)

  • Effect Handlers, Evidently (ICFP 2020)
    by Ningning Xie, Jonathan Immanuel Brachthäuser, Daniel Hillerström, Philipp Schuster, and Daan Leijen
    (pdf)

  • Compiling Effect Handlers in Capability-Passing Style (ICFP 2020)
    by Philipp Schuster, Jonathan Immanuel Brachthäuser, and Klaus Ostermann
    (doi) (pdf)

  • Effekt: Capability-passing style for type- and effect-safe, extensible effect handlers in Scala (JFP 2020)
    by Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann
    (pdf)

  • Doo bee doo bee doo (JFP 2020)
    by Lukas Convent, Sam Lindley, Conor McBride, and Craig McLaughlin
    (pdf)

  • Effect handlers via generalised continuations (JFP 2020)
    by Daniel Hillerström, Sam Lindley, and Robert Atkey
    (pdf)

  • Runners in action (ESOP 2020)
    by Danel Ahman and Andrej Bauer
    (arxiv)

  • Interaction Trees: Representing Recursive and Impure Programs in Coq (POPL 2020)
    by Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, Steve Zdancewic
    (pdf)

  • Binders by Day, Labels by Night: Effect Instances via Lexically Scoped Handlers (POPL 2020)
    by Dariusz Biernacki, Maciej Piróg, Piotr Polesiuk, and Filip Sieczkowski
    (pdf)

  • Combining predicate transformer semantics for effects: a case study in parsing regular languages (MSFP 2020)
    by Anne Baanen and Wouter Swierstra
    (pdf)

  • From Equations to Distinctions: Two Interpretations of Effectful Computations (MSFP 2020)
    by Niels Voorneveld
    (pdf)

  • Unifying graded and parameterised monads (MSFP 2020)
    by Dominic Orchard, Philip Wadler and Harley Eades III
    (pdf)

  • Local Algebraic Effect Theories (JFP 2020)
    by Žiga Lukšič and Matija Pretnar
    (doi) (arxiv)

  • Explicit Effect Subtyping (JFP 2020)
    by Georgios Karachalias, Matija Pretnar, Amr Hany Saleh, Stien Vanderhallen and Tom Schrijvers
    (arxiv)

  • The Fire Triangle: How to Mix Substitution, Dependent Elimination, and Effects (POPL 2020)
    by Pierre-Marie Pédrot and Nicolas Tabareau
    (pdf)

2019

  • A Sound and Complete Logic for Algebraic Effects (FoSSaCS 2019)
    by Cristina Matache and Sam Staton
    (pdf)

  • On the expressive power of user-defined effects: effect handlers, monadic reflection, delimited control (JFP, ICFP 2017 special issue)
    by Yannick Forster, Ohad Kammar, Sam Lindley, and Matija Pretnar
    (pdf)

  • Dijkstra Monads for All (ICFP 2019)
    by Kenji Maillard, Danel Ahman, Robert Atkey, Guido Martínez, Cătălin Hriţcu, Exequiel Rivas and Éric Tanter
    (pdf)

  • A predicate transformer semantics for effects (Functional Pearl) (ICFP 2020)
    by Wouter Swierstra and Anne Baanen
    (pdf)

  • Monad transformers and modular algebraic effects: What binds them together (Haskell 2019)
    by Tom Schrijvers, Maciej Piróg, Nicolas Wu, and Mauro Jaskelioff
    (pdf)

  • A Hierarchy of Monadic Effects for Program Verification using Equational Reasoning (MPC 2019)
    by Reynald Affeldt, David Nowak, and Takafumi Saikawa
    (pdf) (GitHub)

  • Handling Local State with Global State (MPC 2019)
    by Koen Pauwels, Tom Schrijvers, and Shin-Cheng Mu
    (pdf)

  • Bisimulations for Delimited-Control Operators (LMCS 2019)
    by Dariusz Biernacki, Sergueï Lenglet, and Piotr Polesiuk
    (pdf)

  • Typed equivalence of effect handlers and delimited control (FSCD 2019)
    Maciej Piróg, Piotr Polesiuk, and Filip Sieczkowski
    (pdf)

  • Handling Polymorphic Algebraic Effects (ESOP 2019)
    Taro Sekiyama and Atsushi Igarashi
    (arxiv)

  • Extended call-by-push-value: reasoning about effectful programs and evaluation order (ESOP 2019)
    by Dylan McDermott and Alan Mycroft
    (pdf)

  • Abstracting Algebraic Effects (POPL 2019)
    by Dariusz Biernacki, Maciej Piróg, Piotr Polesiuk, and Filip Sieczkowski
    (pdf)

  • Abstraction-Safe Effect Handlers via Tunneling (POPL 2019)
    by Yizhou Zhang and Andrew Myers
    (technical report)

  • Behavioural Equivalence via Modalities for Algebraic Effects (TOPLAS 2019)
    by Alex Simpson and Niels Voorneveld
    (pdf)

2018

  • Behavioural Equivalence via Modalities for Algebraic Effects (ESOP 2018)
    by Alex Simpson and Niels Voorneveld
    (pdf)

  • Call-by-need effects via coeffects (Open Computer Science 2018)
    by Dylan McDermott and Alan Mycroft
    (pdf)

  • Pyro: Deep Universal Probabilistic Programming
    by Eli Bingham, Jonathan P. Chen, Martin Jankowiak, Fritz Obermeyer, Neeraj Pradhan, Theofanis Karaletsos, Rohit Singh, Paul Szerlip, Paul Horsfall, and Noah D. Goodman
    (arvix)

  • Automatic Reparameterisation in Probabilistic Programming (AABI 2018)
    by Maria I. Gorinova, Dave Moore, and Matthew D. Hoffman
    (pdf)

  • Effect Handling for Composable Program Transformations in Edward2 (PROBPROG 2018)
    by Dave Moore and Maria I. Gorinova
    (arvix)

  • Factorisation Systems for Logical Relations and Monadic Lifting in Type-and-effect System Semantics (MFPS 2018)
    by Ohad Kammar and Dylan McDermott
    (doi)

  • Functional Programming for Modular Bayesian Inference (ICFP 2018)
    by Adam Ścibior, Ohad Kammar, and Zoubin Ghahramani
    (pdf)

  • JEff: Objects for Effect (Onward 2018)
    by Pablo Inostroza and Tijs van der Storm
    (pdf)

  • Effect Handlers for the Masses (OOPSLA 2018)
    by Jonathan Immanuel Brachthäuser, Philipp Schuster, and Klaus Ostermann
    (pdf)

  • Abstract Nonsense (FARM 2018)
    by Junia Gonçalves
    (doi)

  • Syntax and Semantics for Operations with Scopes (LICS 2018)
    by Maciej Piróg, Tom Schrijvers, Nicolas Wu, and Mauro Jaskelioff
    (pdf)

  • First Class Dynamic Effect Handlers: or, Polymorphic Heaps with Dynamic Effect Handlers (TyDe 2018)
    by Daan Leijen
    (doi)

  • Algebraic Effect Handlers with Resources and Deep Finalization (MSR technical report)
    by Daan Leijen
    (pdf)

  • Shallow Effect Handlers (APLAS 2018)
    by Daniel Hillerström and Sam Lindley
    (pdf)

  • Versatile Event Correlation with Algebraic Effects (ICFP 2018)
    by Oliver Bračevac, Nada Amin, Guido Salvaneschi, Sebastian Erdweg, Patrick Eugster, and Mira Mezini
    (pdf)

  • Modular Verification of Programs with Effects and Effect Handlers in Coq (FM 2018)
    by Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, and Guillaume Hiet
    (metadata) (pdf)

  • Explicit Effect Subtyping (ESOP 2018)
    by Amr Hany Saleh, Georgios Karachalias, Matija Pretnar, and Tom Schrijvers
    (pdf) (pdf with appendix) (technical report/extended version)

  • Handle with Care: Relational Interpretation of Algebraic Effects and Handlers (POPL 2018)
    by Dariusz Biernacki, Maciej Piróg, Piotr Polesiuk, and Filip Sieczkowski
    (pdf) (Coq formalisation)

  • Handling fibred algebraic effects (POPL 2018)
    by Danel Ahman
    (pdf)

2017

  • Staged Generic Programming (ICFP 2017)
    by Jeremy Yallop
    (pdf)

  • Concurrent System Programming with Effect Handlers (TFP 2017)
    by Stephen Dolan, Spiros Eliopolous, Daniel Hillerström, Anil Madhavapeddy, KC Sivaramakrishnan, Leo White
    (pdf)

  • Handlers for Non-Monadic Computations (IFL 2017)
    by Ruben P. Pieters, Tom Schrijvers, and Exequiel Rivas
    (pdf) (technical report/extended version)

  • Effekt: Extensible Algebraic Effects in Scala (Scala 2017)
    by Jonathan Immanuel Brachthäuser and Philipp Schuster

  • Efficient Compilation of Algebraic Effects and Handlers
    by Matija Pretnar, Amr Hany Saleh, Axel Faes, and Tom Schrijvers
    (technical report)

  • Structured asynchrony with algebraic effects (TyDe 2017)
    by Daan Leijen
    (OpenTOC) (technical report)

  • Implementing Algebraic Effects in C (or "Monads for Free in C") (APLAS 2017)
    by Daan Leijen
    (technical report) (GitHub)

  • Continuation Passing Style for Effect Handlers (FSCD 2017)
    by Daniel Hillerström, Sam Lindley, Robert Atkey, and KC Sivaramakrishnan
    (pdf)

  • On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control (ICFP 2017)
    by Yannick Forster, Ohad Kammar, Sam Lindley, and Matija Pretnar
    (arxiv)

  • Do be do be do (POPL 2017)
    by Sam Lindley, Conor McBride, and Craig McLaughlin
    (dblp) (bibtex) (arxiv)

  • Type directed compilation of row-typed algebraic effects (POPL 2017)
    by Daan Leijen
    (dblp) (bibtex)

  • No value restriction is needed for algebraic effects and handlers (J. Funct. Program. 2017)
    by Ohad Kammar and Matija Pretnar
    (dblp) (bibtex) (arxiv)

2016

  • Combining Effects and Coeffects via Grading (ICFP 2016)
    by Marco Gaboardi, Shin-ya Katsumata, Dominic Orchard, Flavien Breuvart, and Tarmo Uustalu
    (pdf)

  • Effects as Sessions, Sessions as Effects (POPL 2016)
    by Dominic Orchard and Nobuko Yoshida
    (pdf)

  • Effect Systems Revisited -- Control-Flow Algebra and Semantics (Semantics, Logics, and Calculi 2016)
    by Alan Mycroft, Dominic Orchard, and Tomas Petricek
    (pdf)

  • Efficient Algebraic Effect Handlers for Prolog (TPLP/ICLP 2016)
    by Amr Hany Saleh and Tom Schrijvers
    (pdf)

  • Eff Directly in OCaml (ML Workshop 2016)
    by Oleg Kiselyov and KC Sivaramakrishnan
    (pdf) (extended abstract)

  • Compiling Links Effect Handlers to the OCaml Backend (ML Workshop 2016)
    by Daniel Hillerström, Sam Lindley, and KC Sivaramakrishnan
    (pdf)

  • Liberating effects with rows and handlers (TyDe 2016)
    by Daniel Hillerström and Sam Lindley
    (pdf) (dblp) (bibtex)

  • Dependent Types and Fibred Computational Effects (FoSSaCS 2016)
    by Danel Ahman, Neil Ghani, and Gordon Plotkin
    (pdf) (dblp) (bibtex)

  • From Monads to Effects and Back (PADL 2016)
    by Niki Vazou and Daan Leijen
    (pdf)

2015

  • Algebraic Effects, Linearity, and Quantum Programming Languages (POPL 2015)
    by Sam Staton
    (pdf)

  • Effective Concurrency with Algebraic Effects (OCaml Workshop 2015)
    by Stephen Dolan, Leo White, KC Sivaramakrishnan, Jeremy Yallop and Anil Madhavapeddy
    (pdf)

  • Fixing Non-determinism (IFL 2015)
    by Alexander Vandenbroucke, Tom Schrijvers, and Frank Piessens
    (pdf)

  • Freer monads, more extensible effects (Haskell 2015)
    by Oleg Kiselyov and Hiromi Ishii
    (pdf)

  • Programming with Algebraic Effects and Handlers (JLAMP 2015)
    by Andrej Bauer and Matija Pretnar
    (arxiv) (dblp) (bibtex) (doi)

  • Fusion for Free: Efficient Algebraic Effect Handlers (MPC 2015)
    by Nicolas Wu and Tom Schrijvers
    (pdf)

  • Interleaving data and effects (JFP 2015)
    by Robert Atkey and Patricia Johann
    (dblp) (bibtex) (doi) (pdf)

  • Stateful Runners of Effectful Computations
    by Tarmo Uustalu
    (doi)

2014

  • Algebraic Effects and Handlers in Natural Language Interpretation (NLCS 2014)
    by Jiří Maršík and Maxime Amblard
    (pdf)

  • Algebraic effects and effect handlers for idioms and arrows (WGP 2014)
    by Sam Lindley
    (dblp) (bibtex) (pdf)

  • Effect handlers in scope (Haskell 2014)
    by Nicolas Wu, Tom Schrijvers and Ralf Hinze
    (pdf)

  • Embedding effect systems in Haskell (Haskell 2014)
    by Dominic Orchard and Tomas Petricek
    (pdf)

  • The semantic marriage of monads and effects (extended abstract) (Unpublished, 2014)
    by Dominic Orchard, Tomas Petricek and Alan Mycroft
    (pdf)

  • Inferring algebraic effects (LMCS 2014)
    by Matija Pretnar
    (arxiv) (dblp) (bibtex) (doi)

  • An Effect System for Algebraic Effects and Handlers (LMCS 2014)
    by Andrej Bauer and Matija Pretnar
    (arxiv) (dblp) (bibtex) (doi)

2013

  • Programming and reasoning with algebraic effects and dependent types (ICFP 2013)
    by Edwin Brady
    (pdf)

  • The constrained-monad problem (ICFP 2013)
    by Neil Sculthorpe, Jan Bracker, George Giorgidze and Andy Gill
    (pdf)

  • Handlers in action (ICFP 2013)
    by Ohad Kammar, Sam Lindley and Nicolas Oury
    (pdf) (GitHub)

  • Extensible effects: an alternative to monad transformers (Haskell 2013)
    by Oleg Kiselyov, Amr Sabry and Cameron Swords
    (pdf)

  • Handling algebraic effects (LMCS 2013)
    by Gordon Plotkin and Matija Pretnar
    (arxiv) (dblp) (bibtex) (doi)

  • Normalization by Evaluation and Algebraic Effects (MFPS 2013)
    by Danel Ahman and Sam Staton
    (doi) (pdf)

2012

  • The Frank Manual (2012)
    by Conor McBride
    (www)

  • Control.Effects (2012)
    by Sjoerd Visscher

  • Koka: A Language with Row-Polymorphic Effect Inference (HOPE 2012)
    by Daan Leijen

2011

  • Idioms are Oblivious, Arrows are Meticulous, Monads are Promiscuous (ENTCS 2011)
    by Sam Lindley, Philip Wadler and Jeremy Yallop

  • Lightweight Monadic Programming in ML (ICFP 2011)
    by Nikhil Swamy, Nataliya Guts, Daan Leijen and Michael Hicks
    (pdf)

  • Monads, zippers and views: virtualizing the monad stack (ICFP 2011)
    by Tom Schrijvers and Bruno C.d.S. Oliveira

  • Just Do It: Simple Monadic Equational Reasoning (ICFP 2011)
    by Jeremy Gibbons and Ralf Hinze

2010

  • Monad transformers as monoid transformers (Theor. Comp. Science 2010)
    by Mauro Jaskelioff and Eugenio Moggi

  • The Operational Monad Tutorial (The Monad Reader, 2010)
    by Heinrich Apfelmus

2009

  • Handlers of Algebraic Effects (ESOP 2009)
    by Gordon Plotkin and Matija Pretnar
    (pdf)

  • Parameterised Notions of Computation (JFP 2009)
    by Robert Atkey
    (pdf)

  • Algebras for Parameterised Monads (CALCO 2009)
    by Robert Atkey
    (pdf)

2008

  • Lightweight Monadic Regions (Haskell 2008)
    by Oleg Kiselyov and Chung-chieh Shan

  • A Logic for Algebraic Effects (LICS 2008)
    by Gordon Plotkin and Matija Pretnar
    (pdf)

  • What is a Categorical Model of Arrows? (MSFP 2008)
    by Robert Atkey
    (pdf)

  • Data types a la carte (JFP 2008)
    by Wouter Swierstra
    (pdf)

2007

  • Combining algebraic effects with continuations (Theor. Comput. Sci. 2007)
    by Martin Hyland, Paul Blain Levy, Gordon Plotkin and John Power

2006

  • Programming Monads Operationally with Unimo (ICFP 2006)
    by Chuan-kai Lin

  • Monadic Regions (JFP 2006)
    by Matthew Fluet and J. Gregory Morrisett

2003

  • A Monadic Multi-stage Metalanguage (FOSSACS 2003)
    by Eugenio Moggi and Sonia Fagorzi
    (pdf)

  • Algebraic Operations and Generic Effects (Applied categorical structures, 2003)
    by Gordon D. Plotkin and John Power
    (pdf)

  • The Marriage of Effects and Monads (Trans. Comp. Logic, 2003)
    by Philip Wadler and Peter Thiemann

2002

  • Composing Monads Using Coproducts (ICFP 2002)
    by Christoph Lüth and Neil Ghani

  • Notions of computation determine monads (FoSSaCS 2002)
    by Gordon D. Plotkin and John Power

2001

  • Monadic Encapsulation of Effects: A Revised Approach (Extended Version) (JFP 2001)
    by Eugenio Moggi and Amr Sabry

  • Adequacy for algebraic effects (FoSSaCS 2001)
    by Gordon D. Plotkin and John Power

2000

  • Deriving Backtracking Monad Transformers (ICFP 2000)
    by Ralf Hinze

  • Monads and Effects (APPSEM 2000)
    by Nick Benton, John Hughes and Eugenio Moggi

1999

  • Representing layered monads (POPL 1999)
    by Andrzej Filinski
    (ps.gz)

1995

  • Monad Transformers and Modular Interpreters (POPL 1995)
    by Sheng Liang, Paul Hudak and Mark Jones

  • Monads for functional programming (1995)
    Philip Wadler

1994

  • Extensible Denotational Language Specifications (TACS 1994)
    by Robert Cartwright and Matthias Felleisen
    (ps.gz)

  • Building interpreters by transforming stratified monads (Unpublished, 1994)
    by David Espinosa
    (pdf)

  • Representing monads (POPL 1994)
    by Andrzej Filinski

  • Building Interpreters by Composing Monads (POPL 1994)
    by Guy L. Steele, Jr.

  • Monads and composable continuations (J. Lisp & Symb. Comp. 1994)
    by Philip Wadler

1993

  • Imperative Functional Programming (POPL 1993)
    by Simon Peyton Jones and Philip Wadler

  • Combining Monads (Functional Programming, 1993)
    by David J. King and Philip Wadler

  • How to Compose Monads (Thinking Machines Corporation tech. report, 1993)
    Guy L. Steele, Jr.

  • Modular denotational semantics (Unpublished, 1993)
    by David Espinosa
    (pdf)

1992

  • The essence of functional programming (POPL 1992)
    by Philip Wadler

1991

  • Notions of computation and monads (Information and Computation, 93(1), 1991)
    by Eugenio Moggi
    (pdf)

1990

  • Comprehending Monads (Lisp and Functional Programming, 1990)
    Philip Wadler

  • Abstracting Control (LFP 1990)
    by Olivier Danvy and Andrzej Filinski

1989

  • Computational lambda-calculus and monads (LICS 1989)
    by Eugenio Moggi
    (pdf)

  • An abstract view of programming languages (Ed. Uni. Tech Report, 1989)
    by Eugenio Moggi

1988

  • Polymorphic effect systems (POPL 1988)
    by John M. Lucassen and David K. Gifford
    (pdf)

  • The FX-87 Interpreter (ICCL 1988)
    by Pierre Jouvelot and David K. Gifford
    (doi)

Theses and Dissertations

2022

  • Comprehending Pure Functional Effect Systems (MSc Dissertation, University of Oxford)
    by Daniel Tattan-Birch
    (pdf) (Summary post)

2021

  • Foundations for Programming and Implementing Effect Handlers (PhD Dissertation, The University of Edinburgh)
    by Daniel Hillerström
    (pdf) (GitHub)

  • Extending Effekt with Bidirectional Effects (MSc Dissertation, Tokyo Institute of Technology)
    by Kazuki Niimi
    (pdf)

2020

  • Applications of Algebraic Effect Theories (PhD Dissertation, University of Ljubljana)
    by Žiga Lukšič
    (pdf)

  • Asynchronous Effect Handling (MSc Dissertation, The University of Edinburgh)
    by Leo Poulson
    (pdf)

  • Relational Reasoning for Effects and Handlers (PhD Dissertation, The University of Edinburgh)
    by Craig McLaughlin
    (doi) (pdf)

  • Design and Implementation of Effect Handlers for Object-Oriented Programming Languages (PhD Dissertation, University of Tübingen)
    by Jonathan Immanuel Brachthäuser
    (dblp)

2019

  • Efficient Algebraic Effect Handlers (PhD Dissertation, KU Leuven)
    by Amr Hany Saleh
    (pdf)

  • Program Equivalence for Algebraic Effects via Modalities (MSc Dissertation, University of Oxford)
    by Cristina Matache
    (pdf)

  • Defined Algebraic Operations (PhD Dissertation, University of Birmingham)
    by Bram Geron
    (pdf)

2017

  • Distributive Interaction of Algebraic Effects (PhD Dissertation, University of Oxford)
    by Kwok-Ho Cheung
    (pdf)

  • Enhancing a Modular Effectful Programming Language (MSc Dissertation, The University of Edinburgh)
    by Lukas Convent
    (pdf)

  • Fibred Computational Effects (PhD Dissertation, The University of Edinburgh)
    by Danel Ahman
    (pdf)

2016

  • Compilation of Effect Handlers and their Applications in Concurrency (MSc Dissertation, The University of Edinburgh)
    by Daniel Hillerström
    (pdf)

  • On the expressive power of effect handlers and monadic reflection (MSc Dissertation, University of Cambridge)
    by Yannick Forster
    (pdf)

2015

  • Handlers for Algebraic Effects in Links (MSc Dissertation, The University of Edinburgh)
    by Daniel Hillerström
    (pdf)

2010

  • The Logic and Handling of Algebraic Effects (PhD Dissertation, The University of Edinburgh)
    by Matija Pretnar
    (pdf)

1996

  • Controlling Effects (PhD Dissertation, Carnegie Mellon University)
    by Andrzej Filinski
    (dvi.gz) (ps.gz)

1995

  • Semantic Lego (PhD Dissertation, Columbia University)
    by David Espinosa
    (pdf) (pdf slides)

1987

  • Types and Effects — Towards the Integration of Functional and Imperative Programming (PhD Dissertation, MIT)
    by John M. Lucassen
    (pdf)

Status of links at last commit: Build Status