Git Product home page Git Product logo

effects-bibliography's Introduction

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)

  • effects: An experimental C++ runtime effect system by Michael Truog
    (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

2024

  • Asymptotic speedup via effect handlers (JFP 2024)
    by Daniel Hillerström, Sam Lindley, and John Longley
    (doi) (pdf)

  • Active Objects Based on Algebraic Effects (Active Object Languages: Current Research Trends)
    by Martin Andrieux, Ludovic Henrio, and Gabriel Radanne
    (doi) (pdf)

  • Soundly Handling Linearity (POPL 2024)
    by Wenhao Tang, Daniel Hillerström, Sam Lindley, and J. Garrett Morris
    (doi) (pdf)

  • On Model-Checking Higher-Order Effectful Programs (POPL 2024)
    by Ugo Dal Lago and Alexis Ghyselen
    (doi) (pdf) (pdf (extended version))

  • Effectful Software Contracts (POPL 2024)
    by Cameron Moy, Christos Dimoulas, and Matthias Felleisen
    (doi) (pdf)

  • An Intrinsically Typed Compiler for Algebraic Effect Handlers (PEPM 2024)
    by Syouki Tsuyama, Youyou Cong, and Hidehiko Masuhara
    (doi) (pdf)

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)

  • Error Localization for Sequential Effect Systems (SAS 2023)
    by Colin S. Gordon, Chaewon Yun
    (doi)

  • 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

  • Category-Graded Algebraic Theories and Effect Handlers (MFPS 2022)
    by Takahiro Sanada
    (pdf)

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

  • An Algebraic Theory for Shared-State Concurrency (APLAS 2022)
    by Yotam Dvir, Ohad Kammar, and Ori Lahav
    (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)

  • Polymorphic Iterable Sequential Effect Systems (TOPLAS 2021)
    by Colin S. Gordon
    (doi) (arxiv)

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

  • Designing with Static Capabilities and Effects: Use, Mention, and Invariants (ECOOP 2020)
    by Colin S. Gordon
    (doi) (pdf)

  • Lifting Sequential Effects to Control Operators (ECOOP 2020)
    by Colin S. Gordon
    (doi) (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)

  • A Generic Approach to Flow-Sensitive Polymorphic Effects (ECOOP 2017)
    by Colin S. Gordon
    (doi) (pdf)

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

  • Customizable Gradual Polymorphic Effects for Scala (OOPSLA 2015)
    by Matias Toro and Eric Tanter
    (doi)

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

  • A Theory of Gradual Effect Systems (ICFP 2014)
    by Felipe Banados Schwerter, Ronald Garcia and Eric Tanter
    (doi)

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

  • Parametric Effect Monads and Semantics of Effect Systems (POPL 2014)
    by Shin-ya Katsumata
    (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)

  • JavaUI: Effects for UI Object Access (ECOOP 2013)
    by Colin S. Gordon, Werner Dietl, Michael D. Ernst and Dan Grossman
    (dblp) (doi) (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)

  • The Sequential Semantics of Producer Effect Systems (POPL 2013)
    by Ross Tate
    (doi)

2012

  • Lighweight Polymorphic Effects (ECOOP 2012)
    by Lukas Rytz, Martin Odersky and Philipp Haller
    (doi)

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

  • Types and trace effects of higher-order programs (JFP 2008)
    by Christian Skalka, Scott Smith, and David van Horn
    (doi)

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

2024

  • Algebraic Effects and Handlers for Arrows (PhD Dissertation, Kyoto University)
    by Takahiro Sanada
    (pdf)

2023

  • Elaine: Elaboration of Higher-Order Effects as First-Class Language Feature (MSc Dissertation, TU Delft)
    by Terts Diepraam
    (pdf)

  • Deriving Effect Handler Semantics (MSc Dissertation, TU Delft)
    by Chris Lemaire
    (pdf)

  • Concurrent Structures and Effect Handlers: A Batch Made in Heaven (BSc Dissertation, Yale NUS College)
    by Lee Koon Wen
    (pdf)

2022

  • Algebraic Effect Instance Scopes (BSc Dissertation, University of Wroclaw)
    by Patrycja Balik
    (pdf)

  • 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

  • Linear Frank (BSc Dissertation, The University of New South Wales)
    by James Treloar
    (pdf)

  • 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

  • A Type System for Dynamic Instances (MSc Dissertation, TU Delft)
    by Albert ten Napel
    (pdf)

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

2018

  • Algebraic Subtyping for Algebraic Effects and Handlers (MSc Dissertation, KU Leuven)
    by Alex Faes
    (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

effects-bibliography's People

Contributors

andrejbauer avatar bgeron avatar bobatkey avatar bracevac avatar csgordon avatar danelahman avatar dantb avatar davidespinosa01 avatar dhil avatar fitzgen avatar juanbono avatar lemastero avatar lucques avatar lukeg101 avatar maciejpirog avatar marcinzh avatar marklemay avatar marsam avatar matijapretnar avatar mattpd avatar mm0821 avatar nzyuzin avatar ohad avatar okeuday avatar ryo33 avatar slindley avatar tomatosoup97 avatar wouter-swierstra avatar yallop avatar zenzike avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

effects-bibliography's Issues

Bibtex?

It would probably be useful to have a Bibtex version of each paper. An easy solution would be to just add it to each entry.

An article "Algebraic Effects and Handlers on Desk"

https://github.com/Hihaheho/Desk/blob/main/docs/blog/0002-algebraic-effects.md
I've written this article about the effects of Desk-lang.
Although it's not academic but should be helpful to know what's algebraic effects in short and the characteristics of Desk-lang in the context of algebraic effects.
Is it appropriate for this repository?

I'd like to change the following

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

to

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

The link name "an effects tutorial article" is ok?
The title of the article, "Algebraic Effects and Handlers on Desk" could be considered, but I feel it's not appropriate by being too long.

bentnib.org outage

@bobatkey, your website is currently unavailable; from the CI

Error checking URL http://bentnib.org/interleaving.pdf: HTTPConnectionPool(host='bentnib.org', port=80): Max retries exceeded with url: /interleaving.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fdcfd9c9898>: Failed to establish a new connection: [Errno 110] Connection timed out',))
Checking http://bentnib.org/interleaving.pdf => FAILED
Error checking URL http://bentnib.org/paramnotions-jfp.pdf: HTTPConnectionPool(host='bentnib.org', port=80): Max retries exceeded with url: /paramnotions-jfp.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fdcfd2535f8>: Failed to establish a new connection: [Errno 110] Connection timed out',))
Checking http://bentnib.org/paramnotions-jfp.pdf => FAILED
Error checking URL http://bentnib.org/algebras-param-monads.pdf: HTTPConnectionPool(host='bentnib.org', port=80): Max retries exceeded with url: /algebras-param-monads.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fdcfd9e9a90>: Failed to establish a new connection: [Errno 110] Connection timed out',))
Checking http://bentnib.org/algebras-param-monads.pdf => FAILED
Checking http://homepages.inf.ed.ac.uk/gdp/publications/Logic_Algebraic_Effects.pdf => OK
Error checking URL http://bentnib.org/arrows.pdf: HTTPConnectionPool(host='bentnib.org', port=80): Max retries exceeded with url: /arrows.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fdcfd9e9358>: Failed to establish a new connection: [Errno 110] Connection timed out',))
Checking http://bentnib.org/arrows.pdf => FAILED

Related PR: #100

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.