Skip to content

A collaborative bibliography of work related to the theory and practice of computational effects

Notifications You must be signed in to change notification settings

fp-hub/effects-bibliography

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

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.

  • 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
    (www)

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

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

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

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

  • 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
    (www)

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

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

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

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

  • 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
    (www)

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

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

Tutorials

2018

2017

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

Papers

2019

  • 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
    (acm dl) (pdf)

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

2018

  • 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
    (acm dl)

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

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

  • 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
    (acm dl)

  • 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) (arxiv)

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

  • No value restriction is needed for algebraic effects and handlers (J. Funct. Program. 2017)
    by Ohad Kammar and Matija Pretnar
    (dblp) (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)

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

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

2015

  • 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) (doi)

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

  • 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) (doi) (pdf)

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) (doi) (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) (doi)

  • An Effect System for Algebraic Effects and Handlers (LMCS 2014)
    by Andrej Bauer and Matija Pretnar
    (arxiv) (dblp) (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) (doi)

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

1995

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

  • Semantic Lego (UMI Order No. GAX95-33546, 1995)
    by David A. Espinosa

  • Monads for functional programming (1995)
    Philip Wadler

1994

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

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

  • 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

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

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)

2017

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

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

2016

  • Compilation of Effect Handlers and their Applications in Concurrency (MSc Dissertation, 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, University of Edinburgh)
    by Daniel Hillerström
    (pdf)

2010

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

Status of links at last commit: Build Status

About

A collaborative bibliography of work related to the theory and practice of computational effects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published