Code Monkey home page Code Monkey 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.

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

  • Polysemy: a Haskell library for effects
    by Sandy Maguire
    (hackage) (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)

2015

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

Papers

2020

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

2019

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

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

  • 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
    (ps.gz)

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
    (ps.gz)

  • 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

effects-bibliography's People

Contributors

abailly avatar andrejbauer avatar bgeron avatar bixuanzju avatar bobatkey avatar bracevac avatar chrisaycock avatar danelahman avatar danoneata avatar dhil avatar fitzgen avatar fsieczkowski avatar googleson78 avatar juanbono avatar lemastero avatar lucques avatar lukeg101 avatar maciejpirog avatar marsam avatar matijapretnar avatar mattpd avatar ohad avatar slindley avatar tomatosoup97 avatar yallop avatar zenzike avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.