# My MSc thesis (initial implementation of handlers in Links)
@MastersThesis{Hillerstrom15,
  author    = {Daniel Hillerström},
  title     = {Handlers for Algebraic Effects in {Links}},
  school    = {School of Informatics, The University of Edinburgh},
  address   = {Scotland, {UK}},
  month     = aug,
  year      = 2015
}

# My MSc(R) thesis (abstract message-passing concurrency model, compilation of handlers)
@MastersThesis{Hillerstrom16,
  author    = {Daniel Hillerström},
  title     = {Compilation of Effect Handlers and their Applications in Concurrency},
  school    = {School of Informatics, The University of Edinburgh},
  address   = {Scotland, {UK}},
  optmonth  =     aug,
  year      = 2016,
  type      = {{MSc(R)} thesis}
}

# UNIX with effect handlers abstract
@misc{Hillerstrom21,
  author = {Daniel Hillerström},
  title  = {Composing {UNIX} with {Effect} {Handlers}: {A} {Case} {Study} in {Effect} {Handler} {Oriented} {Programming} (Extended Abstract)},
  year   = {2021},
  optmonth  = sep,
  howpublished = {{ML Workshop}}
}

# OCaml handlers
@article{SivaramakrishnanDWKJM21,
  author    = {{KC} Sivaramakrishnan and
               Stephen Dolan and
               Leo White and
               Tom Kelly and
               Sadiq Jaffer and
               Anil Madhavapeddy},
  title     = {Retrofitting Effect Handlers onto {OCaml}},
  journal   = {CoRR},
  volume    = {abs/2104.00250},
  year      = {2021}
}

@misc{DolanWSYM15,
  title     = {Effective Concurrency through Algebraic Effects},
  author    = {Stephen Dolan and Leo White and {KC} Sivaramakrishnan
               and Jeremy Yallop and Anil Madhavapeddy},
  year      = 2015,
  howpublished = {{OCaml} Workshop}
}

@misc{DolanWM14,
  title     = {Multicore {OCaml}},
  author    = {Stephen Dolan and Leo White and Anil Madhavapeddy},
  year      = {2014},
  howpublished = {{OCaml} Workshop}
}

@inproceedings{DolanEHMSW17,
  author    = {Stephen Dolan and
               Spiros Eliopoulos and
               Daniel Hillerstr{\"{o}}m and
               Anil Madhavapeddy and
               K. C. Sivaramakrishnan and
               Leo White},
  title     = {Concurrent System Programming with Effect Handlers},
  booktitle = {{TFP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {10788},
  pages     = {98--117},
  publisher = {Springer},
  year      = {2017}
}

# Delimited control in OCaml
@article{Kiselyov12,
  author    = {Oleg Kiselyov},
  title     = {Delimited control in {OCaml}, abstractly and concretely},
  journal   = {Theor. Comput. Sci.},
  volume    = {435},
  pages     = {56--76},
  year      = {2012}
}

# Segmented stacks
@inproceedings{HiebDB90,
  author    = {Robert Hieb and
               R. Kent Dybvig and
               Carl Bruggeman},
  title     = {Representing Control in the Presence of First-Class Continuations},
  booktitle = {{PLDI}},
  pages     = {66--77},
  publisher = {{ACM}},
  year      = {1990}
}

@inproceedings{BruggemanWD96,
  author    = {Carl Bruggeman and
               Oscar Waddell and
               R. Kent Dybvig},
  title     = {Representing Control in the Presence of One-Shot Continuations},
  booktitle = {{PLDI}},
  pages     = {99--107},
  publisher = {{ACM}},
  year      = {1996}
}

@article{KumarBD98,
  author    = {Sanjeev Kumar and
               Carl Bruggeman and
               R. Kent Dybvig},
  title     = {Threads Yield Continuations},
  journal   = {{LISP} Symb. Comput.},
  volume    = {10},
  number    = {3},
  pages     = {223--236},
  year      = {1998}
}

# Programming with continuations
@InProceedings{FriedmanHK84,
  author    = {Daniel P. Friedman
              and Christopher T Haynes
              and Eugene Kohlbecker},
  editor    = {Peter Pepper},
  title     = {Programming with Continuations},
  booktitle = {Program Transformation and Programming Environments},
  year      = 1984,
  publisher = {Springer Berlin Heidelberg},
  address   = {Berlin, Heidelberg},
  pages     = {263--274},
  isbn      = {978-3-642-46490-4}
}

# Links compiler + Multicore OCaml
@Misc{HillerstromLS16,
  author = {Daniel Hillerström and Sam Lindley and {KC} Sivaramakrishnan},
  title  = {Compiling {Links} Effect Handlers to the {OCaml} Backend},
  year   = {2016},
  optmonth  = sep,
  howpublished = {{ML Workshop}}
}

# Core references on handlers
@phdthesis{Pretnar10,
  author    = {Matija Pretnar},
  title     = {Logic and handling of algebraic effects},
  school    = {The University of Edinburgh, Scotland, {UK}},
  year      = {2010}
}

@inproceedings{PlotkinP09,
  author    = {Gordon D. Plotkin and
               Matija Pretnar},
  title     = {Handlers of Algebraic Effects},
  booktitle = {{ESOP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {5502},
  pages     = {80--94},
  publisher = {Springer},
  year      = {2009}
}

@article{PlotkinP13,
  author    = {Gordon D. Plotkin and
               Matija Pretnar},
  title     = {Handling Algebraic Effects},
  journal   = {Logical Methods in Computer Science},
  volume    = {9},
  number    = {4},
  year      = {2013},
  OPTurl       = {http://dx.doi.org/10.2168/LMCS-9(4:23)2013},
  OPTdoi       = {10.2168/LMCS-9(4:23)2013}
}

@article{PlotkinP03,
  author    = {Gordon D. Plotkin and
               John Power},
  title     = {Algebraic Operations and Generic Effects},
  journal   = {Applied Categorical Structures},
  volume    = {11},
  number    = {1},
  pages     = {69--94},
  year      = {2003},
  OPTurl       = {http://dx.doi.org/10.1023/A:1023064908962},
  OPTdoi       = {10.1023/A:1023064908962},
  timestamp = {Mon, 29 May 2006 12:06:44 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/acs/PlotkinP03},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{PlotkinP01,
  author    = {Gordon D. Plotkin and
               John Power},
  title     = {Adequacy for Algebraic Effects},
  booktitle = {FoSSaCS},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {2030},
  pages     = {1--24},
  publisher = {Springer},
  year      = {2001}
}

@inproceedings{PlotkinP02,
  author    = {Gordon D. Plotkin and
               John Power},
  title     = {Notions of Computation Determine Monads},
  booktitle = {FoSSaCS},
  series    = {Lecture Notes in Computer Science},
  volume    = {2303},
  pages     = {342--356},
  publisher = {Springer},
  year      = {2002}
}

# Other algebraic effects and handlers
@inproceedings{Lindley14,
  author    = {Sam Lindley},
  title     = {Algebraic effects and effect handlers for idioms and arrows},
  booktitle = {WGP@ICFP},
  pages     = {47--58},
  publisher = {{ACM}},
  year      = {2014}
}

@article{Pretnar15,
  author    = {Matija Pretnar},
  title     = {An Introduction to Algebraic Effects and Handlers},
  journal   = {Electr. Notes Theor. Comput. Sci.},
  volume    = {319},
  pages     = {19--35},
  year      = {2015},
  note      = {Invited tutorial paper}
}

@article{KammarP17,
  author    = {Ohad Kammar and
               Matija Pretnar},
  title     = {No value restriction is needed for algebraic effects and handlers},
  journal   = {J. Funct. Program.},
  volume    = {27},
  pages     = {e7},
  year      = {2017}
}

@article{ForsterKLP17,
  author    = {Yannick Forster and
               Ohad Kammar and
               Sam Lindley and
               Matija Pretnar},
  title     = {On the Expressive Power of User-Defined Effects: Effect Handlers,
               Monadic Reflection, Delimited Control},
  journal   = {{PACMPL}},
  volume    = {1},
  number    = {ICFP},
  articleno = {13},
  numpages  = {29},
  month     = sep,
  year      = {2017}
}

@article{ForsterKLP19,
  author    = {Yannick Forster and
               Ohad Kammar and
               Sam Lindley and
               Matija Pretnar},
  title     = {On the expressive power of user-defined effects: Effect handlers,
               monadic reflection, delimited control},
  journal   = {J. Funct. Program.},
  volume    = {29},
  pages     = {e15},
  year      = {2019}
}

@article{HillerstromLL20,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley and
               John Longley},
  title     = {Effects for Efficiency: Asymptotic Speedup with First-Class Control},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{ICFP}},
  pages     = {100:1--100:29},
  year      = {2020}
}

@article{HillerstromLL20a,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley and
               John Longley},
  title     = {Effects for Efficiency: Asymptotic Speedup with First-Class Control},
  journal   = {CoRR},
  volume    = {abs/2007.00605},
  year      = {2020}
}

@phdthesis{McLaughlin20,
  author    = {Craig McLaughlin},
  title     = {Relational Reasoning for Effects and Handlers},
  school    = {The University of Edinburgh, Scotland, {UK}},
  year      = {2020}
}

@phdthesis{Ahman17,
  author    = {Danel Ahman},
  title     = {Fibred Computational Effects},
  school    = {The University of Edinburgh, Scotland, {UK}},
  year      = {2017}
}

@phdthesis{Fowler19,
  author    = {Simon Fowler},
  title     = {Typed concurrent functional programming with channels, actors and sessions},
  school    = {The University of Edinburgh, Scotland, {UK}},
  year      = {2019}
}

@article{FowlerLMD19,
  author    = {Simon Fowler and
               Sam Lindley and
               J. Garrett Morris and
               S{\'{a}}ra Decova},
  title     = {Exceptional asynchronous session types: session types without tiers},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {3},
  number    = {{POPL}},
  pages     = {28:1--28:29},
  year      = {2019}
}


@phdthesis{Kammar14,
  author    = {Ohad Kammar},
  title     = {Algebraic theory of type-and-effect systems},
  school    = {The University of Edinburgh, Scotland, {UK}},
  year      = {2014}
}

@inproceedings{KammarP12,
  author    = {Ohad Kammar and
               Gordon D. Plotkin},
  title     = {Algebraic foundations for effect-dependent optimisations},
  booktitle = {{POPL}},
  pages     = {349--360},
  publisher = {{ACM}},
  year      = {2012}
}

@article{LuksicP20,
  author    = {{\v{Z}}iga Luk{\v{s}}i{\v{c}} and
               Matija Pretnar},
  title     = {Local algebraic effect theories},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e13},
  year      = {2020}
}

@article{XieBHSL20,
  author    = {Ningning Xie and
               Jonathan Immanuel Brachth{\"{a}}user and
               Daniel Hillerstr{\"{o}}m and
               Philipp Schuster and
               Daan Leijen},
  title     = {Effect handlers, evidently},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{ICFP}},
  pages     = {99:1--99:29},
  year      = {2020}
}

@inproceedings{XieL20,
  author    = {Ningning Xie and
               Daan Leijen},
  title     = {Effect handlers in {Haskell}, evidently},
  booktitle = {Haskell@ICFP},
  pages     = {95--108},
  publisher = {{ACM}},
  year      = {2020}
}

@phdthesis{Geron19,
  author = {Bram Geron},
  title  = {Defined Algebraic Operations},
  school = {University of Birmingham, England, {UK}},
  year   = 2019
}

@phdthesis{Saleh19,
  author = {Amr Hany Saleh},
  title  = {Efficient Algebraic Effect Handlers},
  school = {KU Leuven, Belgium},
  year   = 2019
}


# Asynchronous effects
@article{AhmanP21,
  author    = {Danel Ahman and
               Matija Pretnar},
  title     = {Asynchronous effects},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {5},
  number    = {{POPL}},
  pages     = {1--28},
  year      = {2021}
}

@MastersThesis{Poulson20,
  author    = {Leo Poulson},
  title     = {Asynchronous Effect Handling},
  school    = {School of Informatics, The University of Edinburgh},
  address   = {Scotland, {UK}},
  year      = 2020,
}

# Effekt
@article{BrachthauserSO20,
  author    = {Jonathan Immanuel Brachth{\"{a}}user and
               Philipp Schuster and
               Klaus Ostermann},
  title     = {Effekt: Capability-passing style for type- and effect-safe, extensible
               effect handlers in Scala},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e8},
  year      = {2020}
}

@article{BrachthauserSO18,
  author    = {Jonathan Immanuel Brachth{\"{a}}user and
               Philipp Schuster and
               Klaus Ostermann},
  title     = {Effect handlers for the masses},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {2},
  number    = {{OOPSLA}},
  pages     = {111:1--111:27},
  year      = {2018}
}

@inproceedings{BrachthauserS17,
  author    = {Jonathan Immanuel Brachth{\"{a}}user and
               Philipp Schuster},
  title     = {Effekt: extensible algebraic effects in Scala (short paper)},
  booktitle = {SCALA@SPLASH},
  pages     = {67--72},
  publisher = {{ACM}},
  year      = {2017}
}

# Eff
@article{BauerP15,
  author    = {Andrej Bauer and
               Matija Pretnar},
  title     = {Programming with algebraic effects and handlers},
  journal   = {J. Log. Algebr. Meth. Program.},
  volume    = {84},
  number    = {1},
  pages     = {108--123},
  year      = {2015}
}

@article{BauerP13,
  author    = {Andrej Bauer and
               Matija Pretnar},
  title     = {An Effect System for Algebraic Effects and Handlers},
  journal   = {Log. Methods Comput. Sci.},
  volume    = {10},
  number    = {4},
  year      = {2014}
}

@article{Pretnar13,
  author    = {Matija Pretnar},
  title     = {Inferring Algebraic Effects},
  journal   = {Log. Methods Comput. Sci.},
  volume    = {10},
  number    = {3},
  year      = {2014}
}

# Co-handlers
@inproceedings{AhmanB20,
  author    = {Danel Ahman and
               Andrej Bauer},
  title     = {Runners in Action},
  booktitle = {{ESOP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {12075},
  pages     = {29--55},
  publisher = {Springer},
  year      = {2020}
}

# Idris
@inproceedings{Brady13,
  author    = {Edwin Brady},
  title     = {Programming and reasoning with algebraic effects and dependent types},
  booktitle = {{ICFP}},
  pages     = {133--144},
  publisher = {{ACM}},
  year      = {2013}
}

@inproceedings{Brady14,
  author    = {Edwin Brady},
  title     = {Resource-Dependent Algebraic Effects},
  booktitle = {Trends in Functional Programming},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {8843},
  pages     = {18--33},
  publisher = {Springer},
  year      = {2014}
}

# Leo's HOPE talk
@misc{White16,
  author = {Leo White},
  title  = {Effective programming: bringing algebraic effects and handlers to {OCaml}},
  year   = 2016,
  optmonth  = sep,
  howpublished = {Keynote at {HOPE}, Nara, Japan}
}

# Implementation of effect handlers in Links
@inproceedings{HillerstromL16,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley},
  title     = {Liberating effects with rows and handlers},
  booktitle = {TyDe@ICFP},
  pages     = {15--27},
  publisher = {{ACM}},
  year      = {2016}
}

# Frank
@inproceedings{LindleyMM17,
  author    = {Sam Lindley and
               Conor McBride and
               Craig McLaughlin},
  title     = {Do be do be do},
  booktitle = {{POPL}},
  pages     = {500--514},
  publisher = {{ACM}},
  year      = {2017}
}

@article{ConventLMM20,
  author    = {Lukas Convent and
               Sam Lindley and
               Conor McBride and
               Craig McLaughlin},
  title     = {Doo bee doo bee doo},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e9},
  year      = {2020}
}

@MastersThesis{Convent17,
  author    = {Lukas Convent},
  title     = {Enhancing a Modular Effectful Programming Language},
  school    = {School of Informatics, The University of Edinburgh},
  address   = {Scotland, {UK}},
  year      = 2017,
}

# Shonky
@misc{McBride16,
  title={Shonky},
  author={Conor McBride},
  year=2016,
  note={\url{https://github.com/pigworker/shonky}}
}

# Koka
@inproceedings{Leijen14,
  author    = {Daan Leijen},
  title     = {{Koka}: Programming with Row Polymorphic Effect Types},
  booktitle = {{MSFP}},
  series    = {{EPTCS}},
  volume    = {153},
  pages     = {100--126},
  year      = {2014}
}

@inproceedings{Leijen17,
  author    = {Daan Leijen},
  title     = {Type directed compilation of row-typed algebraic effects},
  booktitle = {{POPL}},
  pages     = {486--499},
  publisher = {{ACM}},
  year      = {2017}
}


# Helium
@article{BiernackiPPS18,
  author    = {Dariusz Biernacki and
               Maciej Pir{\'{o}}g and
               Piotr Polesiuk and
               Filip Sieczkowski},
  title     = {Handle with care: relational interpretation of algebraic effects and
               handlers},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {2},
  number    = {{POPL}},
  pages     = {8:1--8:30},
  year      = {2018}
}

@article{BiernackiPPS19,
  author    = {Dariusz Biernacki and
               Maciej Pir{\'{o}}g and
               Piotr Polesiuk and
               Filip Sieczkowski},
  title     = {Abstracting algebraic effects},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {3},
  number    = {{POPL}},
  pages     = {6:1--6:28},
  year      = {2019}
}

@article{BiernackiPPS20,
  author    = {Dariusz Biernacki and
               Maciej Pir{\'{o}}g and
               Piotr Polesiuk and
               Filip Sieczkowski},
  title     = {Binders by day, labels by night: effect instances via lexically scoped
               handlers},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{POPL}},
  pages     = {48:1--48:29},
  year      = {2020}
}

# Haskell implementations
@inproceedings{KiselyovSS13,
  author    = {Oleg Kiselyov and
               Amr Sabry and
               Cameron Swords},
  title     = {Extensible effects: an alternative to monad transformers},
  booktitle = {Haskell},
  pages     = {59--70},
  publisher = {{ACM}},
  year      = {2013}
}

@inproceedings{KiselyovI15,
  author    = {Oleg Kiselyov and
               Hiromi Ishii},
  title     = {Freer monads, more extensible effects},
  booktitle = {Haskell},
  pages     = {94--105},
  publisher = {{ACM}},
  year      = {2015}
}


@inproceedings{KammarLO13,
  author    = {Ohad Kammar and
               Sam Lindley and
               Nicolas Oury},
  title     = {Handlers in action},
  booktitle = {{ICFP}},
  pages     = {145--158},
  publisher = {{ACM}},
  year      = {2013}
}

@inproceedings{WuSH14,
  author    = {Nicolas Wu and
               Tom Schrijvers and
               Ralf Hinze},
  title     = {Effect handlers in scope},
  booktitle = {Haskell},
  pages     = {1--12},
  publisher = {{ACM}},
  year      = {2014}
}

@inproceedings{WuS15,
  author    = {Nicolas Wu and
               Tom Schrijvers},
  title     = {Fusion for Free - Efficient Algebraic Effect Handlers},
  booktitle = {{MPC}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {9129},
  pages     = {302--322},
  publisher = {Springer},
  year      = {2015}
}

# Prolog
@article{SchrijversDDW13,
  author    = {Tom Schrijvers and
               Bart Demoen and
               Benoit Desouter and
               Jan Wielemaker},
  title     = {Delimited continuations for {Prolog}},
  journal   = {{TPLP}},
  volume    = {13},
  number    = {4-5},
  pages     = {533--546},
  year      = {2013}
}

@article{SalehS16,
  author    = {Amr Hany Saleh and
               Tom Schrijvers},
  title     = {Efficient Algebraic Effect Handlers for {Prolog}},
  journal   = {{TPLP}},
  year      = {2016},
  note = {Proceedings of {ICLP}}
}

# References on Links
@inproceedings{CooperLWY06,
  author    = {Ezra Cooper and
               Sam Lindley and
               Philip Wadler and
               Jeremy Yallop},
  title     = {Links: Web Programming Without Tiers},
  booktitle = {{FMCO}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {4709},
  pages     = {266--296},
  publisher = {Springer},
  year      = {2006}
}

@inproceedings{LindleyC12,
  author    = {Sam Lindley and
               James Cheney},
  title     = {Row-based effect types for database integration},
  booktitle = {{TLDI}},
  pages     = {91--102},
  publisher = {{ACM}},
  year      = {2012}
}

# "Proto handlers"
@inproceedings{CartwrightF94,
  author    = {Robert Cartwright and
               Matthias Felleisen},
  title     = {Extensible Denotational Language Specifications},
  booktitle = {{TACS}},
  series    = {Lecture Notes in Computer Science},
  volume    = {789},
  pages     = {244--272},
  publisher = {Springer},
  year      = {1994}
}

# Applicative idioms
@article{McBrideP08,
  author    = {Conor McBride and
               Ross Paterson},
  title     = {Applicative programming with effects},
  journal   = {J. Funct. Program.},
  volume    = {18},
  number    = {1},
  pages     = {1--13},
  year      = {2008}
}

# Monads
@article{Atkey09,
  author    = {Robert Atkey},
  title     = {Parameterised notions of computation},
  journal   = {Journal of Functional Programming},
  volume    = {19},
  number    = {3-4},
  pages     = {335--376},
  year      = {2009}
}

@inproceedings{Moggi89,
  author    = {Eugenio Moggi},
  title     = {Computational Lambda-Calculus and Monads},
  booktitle = {{LICS}},
  pages     = {14--23},
  publisher = {{IEEE} Computer Society},
  year      = {1989}
}

@article{Moggi91,
  author    = {Eugenio Moggi},
  title     = {Notions of Computation and Monads},
  journal   = {Inf. Comput.},
  volume    = {93},
  number    = {1},
  pages     = {55--92},
  year      = {1991}
}

@inproceedings{Wadler92,
  author    = {Philip Wadler},
  title     = {The Essence of Functional Programming},
  booktitle = {{POPL}},
  pages     = {1--14},
  publisher = {{ACM}},
  year      = {1992}
}

@article{Wadler92b,
  author    = {Philip Wadler},
  title     = {Comprehending Monads},
  journal   = {Math. Struct. Comput. Sci.},
  volume    = {2},
  number    = {4},
  pages     = {461--493},
  year      = {1992}
}

@inproceedings{KingW92,
  author    = {David J. King and
               Philip Wadler},
  title     = {Combining Monads},
  booktitle = {Functional Programming},
  series    = {Workshops in Computing},
  pages     = {134--143},
  publisher = {Springer},
  year      = {1992}
}

@inproceedings{JonesW93,
  author    = {Simon L. Peyton Jones and
               Philip Wadler},
  title     = {Imperative Functional Programming},
  booktitle = {{POPL}},
  pages     = {71--84},
  publisher = {{ACM} Press},
  year      = {1993}
}

@inproceedings{Wadler95,
  author    = {Philip Wadler},
  title     = {Monads for Functional Programming},
  booktitle = {Advanced Functional Programming},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {925},
  pages     = {24--52},
  publisher = {Springer},
  year      = {1995}
}

@article{Sabry98,
  author    = {Amr Sabry},
  title     = {What is a Purely Functional Language?},
  journal   = {J. Funct. Program.},
  volume    = {8},
  number    = {1},
  pages     = {1--22},
  year      = {1998}
}

@article{Swierstra08,
  author    = {Wouter Swierstra},
  title     = {Data types {\`{a}} la carte},
  journal   = {Journal of Functional Programming},
  volume    = {18},
  number    = {4},
  pages     = {423--436},
  year      = {2008}
}

@inproceedings{Gibbons12,
  author    = {Jeremy Gibbons},
  title     = {Unifying Theories of Programming with Monads},
  booktitle = {{UTP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {7681},
  pages     = {23--67},
  publisher = {Springer},
  year      = {2012}
}

@inproceedings{VazouL16,
  author    = {Niki Vazou and
               Daan Leijen},
  title     = {From Monads to Effects and Back},
  booktitle = {{PADL}},
  series    = {{LNCS}},
  volume    = {9585},
  pages     = {169--186},
  publisher = {Springer},
  year      = {2016}
}

@inproceedings{PauwelsSM19,
  author    = {Koen Pauwels and
               Tom Schrijvers and
               Shin{-}Cheng Mu},
  title     = {Handling Local State with Global State},
  booktitle = {{MPC}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {11825},
  pages     = {18--44},
  publisher = {Springer},
  year      = {2019}
}

@inproceedings{GibbonsH11,
  author    = {Jeremy Gibbons and
               Ralf Hinze},
  title     = {Just do it: simple monadic equational reasoning},
  booktitle = {{ICFP}},
  pages     = {2--14},
  publisher = {{ACM}},
  year      = {2011}
}

@book{Borceux94,
  author    = {Francis Borceux},
  title     = {Handbook of Categorical Algebra},
  series    = {Encyclopedia of Mathematics and its Applications},
  volume    = {1},
  collection= {Encyclopedia of Mathematics and its Applications},
  OPTdoi    = {10.1017/CBO9780511525858},
  publisher = {Cambridge University Press},
  year      = 1994,
  place     = {Cambridge}
}

@book{MacLane71,
  author    = {Saunders MacLane},
  title     = {Categories for the Working Mathematician},
  series    = {Graduate Texts in Mathematics, Vol. 5},
  pages     = {ix+262},
  publisher = {Springer-Verlag},
  address   = {New York},
  year      = 1971
}

# Monad transformers
@phdthesis{Espinosa95,
  author = {David A. Espinosa},
  school = {Columbia University},
  title = {Semantic Lego},
  year = 1995,
  address = {New York, USA}
}

# Hop.js
@inproceedings{SerranoP16,
  author    = {Manuel Serrano and
               Vincent Prunet},
  title     = {A glimpse of Hopjs},
  booktitle = {{ICFP}},
  pages     = {180--192},
  publisher = {{ACM}},
  year      = {2016}
}

# A-normal form
@inproceedings{FlanaganSDF93,
  author    = {Cormac Flanagan and
               Amr Sabry and
               Bruce F. Duba and
               Matthias Felleisen},
  title     = {The Essence of Compiling with Continuations},
  booktitle = {{PLDI}},
  pages     = {237--247},
  publisher = {{ACM}},
  year      = {1993}
}

@inproceedings{SabryW96,
  author    = {Amr Sabry and
               Philip Wadler},
  editor    = {Robert Harper and
               Richard L. Wexelblat},
  title     = {A Reflection on Call-by-Value},
  booktitle = {Proceedings of the 1996 {ACM} {SIGPLAN} International Conference on
               Functional Programming {(ICFP} '96), Philadelphia, Pennsylvania, May
               24-26, 1996.},
  pages     = {13--24},
  publisher = {{ACM}},
  year      = {1996},
  OPTurl       = {http://doi.acm.org/10.1145/232627.232631},
  OPTdoi       = {10.1145/232627.232631},
  timestamp = {Tue, 11 Jun 2013 13:54:16 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/icfp/SabryW96},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

# fine-grained call-by-value
@article{LevyPT03,
  author    = {Paul Blain Levy and
               John Power and
               Hayo Thielecke},
  title     = {Modelling environments in call-by-value programming languages},
  journal   = {Inf. Comput.},
  volume    = {185},
  number    = {2},
  pages     = {182--210},
  year      = {2003}
}

# CPS
@article{Plotkin75,
  author    = {Gordon D. Plotkin},
  title     = {Call-by-Name, Call-by-Value and the lambda-Calculus},
  journal   = {Theor. Comput. Sci.},
  volume    = {1},
  number    = {2},
  pages     = {125--159},
  year      = {1975}
}

@techreport{Steele78,
  title = {{RABBIT}: A Compiler for {SCHEME} (A Study in Compiler Optimization)},
  author = {Guy L. Steele},
  institution = {{MIT}},
  number = {TR-474},
  year = {1978},
  month = may,
  address = {Cambridge, Massachusetts, USA}
}

@inproceedings{MeyerW85,
  author    = {Albert R. Meyer and
               Mitchell Wand},
  title     = {Continuation Semantics in Typed Lambda-Calculi (Summary)},
  booktitle = {Logic of Programs},
  series    = {{LNCS}},
  volume    = {193},
  pages     = {219--224},
  publisher = {Springer},
  year      = {1985}
}

@inproceedings{DanvyF90,
  author    = {Olivier Danvy and
               Andrzej Filinski},
  title     = {Abstracting Control},
  booktitle = {{LISP} and Functional Programming},
  pages     = {151--160},
  year      = {1990}
}

@article{DanvyF92,
  author    = {Olivier Danvy and
               Andrzej Filinski},
  title     = {Representing Control: {A} Study of the {CPS} Transformation},
  journal   = {Mathematical Structures in Computer Science},
  volume    = {2},
  number    = {4},
  pages     = {361--391},
  year      = {1992}
}

@article{Fischer93,
  author    = {Michael J. Fischer},
  title     = {Lambda-Calculus Schemata},
  journal   = {{LISP} Symb. Comput.},
  volume    = {6},
  number    = {3-4},
  pages     = {259--288},
  year      = {1993},
  note      = {A preliminary version of this paper appeared in the
                  \emph{Proceedings of {ACM} Conference on Proving
                  Assertions about Programs}, January, 1972}
}

@phdthesis{Danvy06,
  author = {Olivier Danvy},
  school = {Aarhus University},
  title = {An Analytical Approach to Programs as Data Objects},
  type = {{DSc} thesis},
  year = 2006,
  address = {Aarhus, Denmark}
}

@book{Appel92,
  author    = {Andrew W. Appel},
  title     = {Compiling with Continuations},
  publisher = {Cambridge University Press},
  year      = {1992}
}

@article{DanvyN03,
  author    = {Olivier Danvy and
               Lasse R. Nielsen},
  title     = {A first-order one-pass {CPS} transformation},
  journal   = {Theor. Comput. Sci.},
  volume    = {308},
  number    = {1-3},
  pages     = {239--257},
  year      = {2003}
}

@article{DanvyN05,
  author    = {Olivier Danvy and
               Lasse R. Nielsen},
  title     = {{CPS} transformation of beta-redexes},
  journal   = {Inf. Process. Lett.},
  volume    = {94},
  number    = {5},
  pages     = {217--224},
  year      = {2005}
}

@inproceedings{Kennedy07,
  author    = {Andrew Kennedy},
  title     = {Compiling with continuations, continued},
  booktitle = {{ICFP}},
  pages     = {177--190},
  publisher = {{ACM}},
  year      = {2007}
}

@inproceedings{MaterzokB11,
  author    = {Marek Materzok and
               Dariusz Biernacki},
  title     = {Subtyping delimited continuations},
  booktitle = {{ICFP}},
  pages     = {81--93},
  publisher = {{ACM}},
  year      = {2011}
}

@inproceedings{MaterzokB12,
  author    = {Marek Materzok and
               Dariusz Biernacki},
  title     = {A Dynamic Interpretation of the {CPS} Hierarchy},
  booktitle = {{APLAS}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {7705},
  pages     = {296--311},
  publisher = {Springer},
  year      = {2012}
}

@Misc{KiselyovS16,
  author = {Oleg Kiselyov and {KC} Sivaramakrishnan},
  title  = {Eff directly in {OCaml}},
  year   = {2016},
  optmonth  = sep,
  howpublished = {{ML Workshop}}
}

@article{DanvyH92,
  author    = {Olivier Danvy and
               John Hatcliff},
  title     = {CPS-Transformation After Strictness Analysis},
  journal   = {{LOPLAS}},
  volume    = {1},
  number    = {3},
  pages     = {195--212},
  year      = {1992}
}

@inproceedings{DanvyH93,
  author    = {Olivier Danvy and
               John Hatcliff},
  title     = {On the Transformation between Direct and Continuation Semantics},
  booktitle = {{MFPS}},
  series    = {{LNCS}},
  volume    = {802},
  pages     = {627--648},
  publisher = {Springer},
  year      = {1993}
}

@article{Nielsen01,
  author = {Lasse R. Nielsen},
  title = {A Selective CPS Transformation},
  journal   = {Electr. Notes Theor. Comput. Sci.},
  volume = {45},
  pages = {311-331},
  year = {2001},
  OPTnote = {MFPS 2001,Seventeenth Conference on the Mathematical Foundations of Programming Semantics},
  OPTissn = {1571-0661},
  OPTdoi = {https://doi.org/10.1016/S1571-0661(04)80969-1}
}

# Dynamic binding
@inproceedings{KiselyovSS06,
  author    = {Oleg Kiselyov and
               Chung{-}chieh Shan and
               Amr Sabry},
  title     = {Delimited dynamic binding},
  booktitle = {{ICFP}},
  pages     = {26--37},
  publisher = {{ACM}},
  year      = {2006}
}

# Row polymorphism
@inproceedings{Wand87,
  author    = {Mitchell Wand},
  title     = {Complete Type Inference for Simple Objects},
  booktitle = {{LICS}},
  pages     = {37--44},
  publisher = {{IEEE} Computer Society},
  year      = {1987}
}

@inbook{Remy94,
  author    = {Didier R\'{e}my},
  title     = {Type Inference for Records in Natural Extension of ML},
  year      = 1994,
  OPTisbn = {026207155X},
  publisher = {MIT Press},
  address = {Cambridge, MA, USA},
  booktitle = {Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design},
  pages     = {67--95},
  numpages  = {29}
}

@inproceedings{Leijen05,
  author    = {Daan Leijen},
  title     = {Extensible records with scoped labels},
  booktitle = {Trends in Functional Programming},
  series    = {Trends in Functional Programming},
  volume    = {6},
  pages     = {179--194},
  publisher = {Intellect},
  year      = {2005}
}

@article{MorrisM19,
  author    = {J. Garrett Morris and
               James McKinna},
  title     = {Abstracting extensible data types: or, rows by any other name},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {3},
  number    = {{POPL}},
  pages     = {12:1--12:28},
  year      = {2019}
}

# fancy row typing systems that support shapes
@inproceedings{BerthomieuS95,
  author = {Bernard Berthomieu and Camille le Moniès de Sagazan},
  title = {A Calculus of Tagged Types, with applications to process languages},
  booktitle = {Workshop on Types for Program Analysis},
  year = 1995,
}

@techreport{Remy93,
  title = {{Syntactic theories and the algebra of record terms}},
  author = {Didier Remy},
  number = {RR-1869},
  institution = {{INRIA}},
  year = {1993},
}

# Zipper data structure.
@article{Huet97,
  author    = {G{\'{e}}rard P. Huet},
  title     = {The Zipper},
  journal   = {J. Funct. Program.},
  volume    = {7},
  number    = {5},
  pages     = {549--554},
  year      = {1997},
  OPTurl       = {http://journals.cambridge.org/action/displayAbstract?aid=44121},
  OPTtimestamp = {Fri, 10 Jun 2011 14:42:10 +0200},
  OPTbiburl    = {http://dblp.uni-trier.de/rec/bib/journals/jfp/Huet97},
  OPTbibsource = {dblp computer science bibliography, http://dblp.org}
}

@article{Hughes00,
  author    = {John Hughes},
  title     = {Generalising monads to arrows},
  journal   = {Sci. Comput. Program.},
  volume    = {37},
  number    = {1-3},
  pages     = {67--111},
  year      = {2000}
}

# CPS for effect handlers
@inproceedings{HillerstromLAS17,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley and
               Robert Atkey and
               {KC} Sivaramakrishnan},
  title     = {Continuation Passing Style for Effect Handlers},
  booktitle = {{FSCD}},
  series    = {LIPIcs},
  volume    = {84},
  pages     = {18:1--18:19},
  OPTpublisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik},
  year      = {2017}
}

@inproceedings{HillerstromL18,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley},
  title     = {Shallow Effect Handlers},
  booktitle = {{APLAS}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {11275},
  pages     = {415--435},
  publisher = {Springer},
  year      = {2018}
}

@article{HillerstromLA20,
  author    = {Daniel Hillerstr{\"{o}}m and
               Sam Lindley and
               Robert Atkey},
  title     = {Effect handlers via generalised continuations},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e5},
  year      = {2020}
}

# SECD machine
@article{Landin64,
  author = {Peter J. Landin},
  title = {The Mechanical Evaluation of Expressions},
  journal = {The Computer Journal},
  volume = {6},
  number = {4},
  pages = {308-320},
  year = {1964},
  month = {01},
  issn = {0010-4620},
  OPTdoi = {10.1093/comjnl/6.4.308},
  OPTurl = {https://doi.org/10.1093/comjnl/6.4.308},
  OPTeprint = {https://academic.oup.com/comjnl/article-pdf/6/4/308/1067901/6-4-308.pdf},
}

# CEK & C
@InProceedings{FelleisenF86,
  title={Control Operators, the {SECD}-machine, and the $\lambda$-Calculus},
  author={Felleisen, Matthias and Friedman, Daniel P.},
  year=1987,
  booktitle = {Formal Description of Programming Concepts III},
  OPTbooktitle = {The Proceedings of the Conference on Formal Description of Programming Concepts III, Ebberup, Denmark},
  pages     = {193--217},
  OPTpublisher={North Holland}
}

@inproceedings{FelleisenFKD86,
  author    = {Matthias Felleisen and
               Daniel P. Friedman and
               Eugene E. Kohlbecker and
               Bruce F. Duba},
  title     = {Reasoning with Continuations},
  booktitle = {{LICS}},
  pages     = {131--141},
  publisher = {{IEEE} Computer Society},
  year      = {1986}
}

# Capability passing style
@phdthesis{Brachthauser20,
  author    = {Jonathan Immanuel Brachth{\"{a}}user},
  title     = {Design and Implementation of Effect Handlers for Object-Oriented Programming
               Languages},
  school    = {University of T{\"{u}}bingen, Germany},
  year      = {2020}
}

@article{BrachthauserSO20a,
  author    = {Jonathan Immanuel Brachth{\"{a}}user and
               Philipp Schuster and
               Klaus Ostermann},
  title     = {Effekt: Capability-passing style for type- and effect-safe, extensible
               effect handlers in Scala},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e8},
  year      = {2020}
}

@article{BrachthauserSO20b,
  author    = {Jonathan Immanuel Brachth{\"{a}}user and
               Philipp Schuster and
               Klaus Ostermann},
  title     = {Effects as capabilities: effect handlers and lightweight effect polymorphism},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{OOPSLA}},
  pages     = {126:1--126:30},
  year      = {2020}
}

@article{SchusterBO20,
  author    = {Philipp Schuster and
               Jonathan Immanuel Brachth{\"{a}}user and
               Klaus Ostermann},
  title     = {Compiling effect handlers in capability-passing style},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{ICFP}},
  pages     = {93:1--93:28},
  year      = {2020}
}

# explicit effect subtyping
@inproceedings{SalehKPS18,
  author    = {Amr Hany Saleh and
               Georgios Karachalias and
               Matija Pretnar and
               Tom Schrijvers},
  title     = {Explicit Effect Subtyping},
  booktitle = {{ESOP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {10801},
  pages     = {327--354},
  publisher = {Springer},
  year      = {2018}
}

@article{KarachaliasPSVS20,
  author    = {Georgios Karachalias and
               Matija Pretnar and
               Amr Hany Saleh and
               Stien Vanderhallen and
               Tom Schrijvers},
  title     = {Explicit effect subtyping},
  journal   = {J. Funct. Program.},
  volume    = {30},
  pages     = {e15},
  year      = {2020}
}

# Pyro
@Misc{Goodman17,
  author = {Noah Goodman},
  title  = {Uber {AI} {Labs} Open Sources {Pyro}, a Deep Probabilistic Programming Language},
  month  = nov,
  year   = 2017,
  url    = {https://eng.uber.com/pyro/}
}

# Meta programming
@article{Yallop17,
  author    = {Jeremy Yallop},
  title     = {Staged generic programming},
  journal   = {{PACMPL}},
  volume    = {1},
  number    = {{ICFP}},
  pages     = {29:1--29:29},
  year      = {2017}
}

# SML
@book{MilnerTHM97,
 author = {Robin Milner and Mads Tofte and Robert Harper and David Macqueen},
 title = {The Definition of {Standard} {ML}},
 year = {1997},
 isbn = {0262631814},
 publisher = {MIT Press},
 address = {Cambridge, MA, USA},
}

# OCaml
@book{LeroyDFGRV20,
 author = {Xavier Leroy and Damien Doligez and Alain Frisch and Jacques Garrigue and Didier Rémy and Jérôme Vouillon},
 title = {The {OCaml} System Release 4.11: Documentation and user's manual},
 year = 2020,
 month = aug,
 OPTpublisher = {Institut National de Recherche en Informatique et en Automatique},
 publisher = {INRIA}
}

# Lisp
@article{McCarthy60,
  author    = {John McCarthy},
  title     = {Recursive Functions of Symbolic Expressions and Their Computation
               by Machine, Part {I}},
  journal   = {Commun. {ACM}},
  volume    = {3},
  number    = {4},
  pages     = {184--195},
  year      = {1960}
}

# Elisp
@book{LewisLSG20,
  author = {Bil Lewis and Dan {LaLiberte} and Richard Stallman and {the GNU Manual Group} and {et al.}},
  title = {{GNU} {Emacs} {Lisp} Reference Manual},
  year  = 2020,
  note  = {For {Emacs} version 27.1},
  publisher = {Free Software Foundation},
  address = {Boston, MA, USA},
  isbn = {1882114744}
}

# Scheme
@techreport{SussmanS75,
  author = {Gerald J. Sussman and Guy L. Steele},
  institution = {{MIT}},
  month = {December},
  number = {AI Memo No. 349},
  title = {Scheme: An Interpreter for Extended Lambda Calculus},
  OPTuri = {ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-349.pdf},
  year = 1975
}


@book{SperberDFSFM10,
  author    = {Michael Sperber and
               R. Kent Dybvig and
               Matthew Flatt and
               Anton van Straaten and
               Robert Bruce Findler and
               Jacob Matthews},
  title     = {Revised6 Report on the Algorithmic Language Scheme},
  publisher = {Cambridge University Press},
  year      = {2010}
}

@book{Dybvig03,
  author    = {R. Kent Dybvig},
  title     = {The {Scheme} Programming Language, Third Edition},
  publisher = {{MIT} Press},
  year      = {2003}
}

# Haskell
@misc{JonesABBBFHHHHJJLMPRRW99,
  author = {Simon Peyton Jones
            and Lennart Augustsson
            and Dave Barton
            and Brian Boutel
            and Warren Burton
            and Joseph Fasel
            and Kevin Hammond
            and Ralf Hinze
            and Paul Hudak
            and John Hughes
            and Thomas Johnsson
            and Mark Jones
            and John Launchbury
            and Erik Meijer
            and John Peterson
            and Alastair Reid
            and Colin Runciman
            and Philip Wadler},
 title = {Haskell 98: A non-strict, purely functional language},
 OPTurl = {https://www.haskell.org/definition/},
 year = {1999}
}

@book{Haskell98,
  editor = {Jones, Simon Peyton},
  month = sep,
  pages = 277,
  publisher = {http://haskell.org/},
  title = {{Haskell} 98 Language and Libraries: The Revised Report},
  type = {Language Definition},
  OPTurl = {http://haskell.org/definition/haskell98-report.pdf},
  year = 2002
}

@book{Haskell10,
 editor = {Simon Marlow},
 title  = {Haskell 2010 Language Report},
 year   = 2010
}

# Structural Operational Semantics
@techreport{Plotkin81,
  author    = {Gordon D. Plotkin},
  title     = {A structural approach to operational semantics},
  number    = {FN-19},
  school    = {Department of Computer Science, Aarhus University},
  address   = {Aarhus, Denmark},
  month     = sep,
  year      = 1981
}

@article{Plotkin04a,
  author    = {Gordon D. Plotkin},
  title     = {A structural approach to operational semantics},
  journal   = {J. Log. Algebr. Program.},
  volume    = {60-61},
  pages     = {17--139},
  year      = {2004},
  OPTtimestamp = {Mon, 21 Feb 2005 12:50:35 +0100},
  OPTbiburl    = {https://dblp.org/rec/bib/journals/jlp/Plotkin04a},
  OPTbibsource = {dblp computer science bibliography, https://dblp.org}
}

# Regular expressions
@incollection{Kleene56,
  author = {Stephen Cole Kleene},
  title = {Representation of events in nerve nets and finite automata},
  booktitle = {Automata Studies},
  editor = {Shannon, Claude and McCarthy, John},
  pages = {3--41},
  year = 1956,
  publisher = {Princeton University Press},
  address = {Princeton, NJ, USA}
}

# Felleisen's PhD thesis (evaluation contexts)
@phdthesis{Felleisen87,
  author = {Matthias Felleisen},
  title = {The Calculi of Lambda-nu-cs Conversion: A Syntactic Theory of Control and State in Imperative Higher-order Programming Languages},
  year = {1987},
  note = {AAI8727494},
  publisher = {Indiana University},
  address = {Indianapolis, IN, USA},
}

# The original lambda calculus reference
@InProceedings{Church32,
  author    = {Alonzo Church},
  title     = {A Set of Postulates for the Foundation of Logic},
  year      = {1932},
  booktitle = {Annals of Mathematics},
  pages     = {346--366},
  volume    = {33}
}

@book{Church41,
  author = {Alonzo Church},
  title = {The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)},
  year = {1941},
  publisher = {Princeton University Press},
  address = {USA}
}

# Termination analysis.
@article{Walther94,
  author    = {Christoph Walther},
  title     = {On Proving the Termination of Algorithms by Machine},
  journal   = {Artif. Intell.},
  volume    = {71},
  number    = {1},
  pages     = {101--157},
  year      = {1994}
}

# Simulation of delimited control using undelimited control & monadic reflection
@inproceedings{Filinski94,
  author    = {Andrzej Filinski},
  title     = {Representing Monads},
  booktitle = {{POPL}},
  pages     = {446--457},
  publisher = {{ACM} Press},
  year      = {1994}
}

@phdthesis{Filinski96,
  author    = {Andrzej Filinski},
  title     = {Controlling Effects},
  school    = {Carnegie Mellon University},
  year      = {1996}
}

@inproceedings{Filinski99,
  author    = {Andrzej Filinski},
  title     = {Representing Layered Monads},
  booktitle = {{POPL}},
  pages     = {175--188},
  publisher = {{ACM}},
  year      = {1999}
}

@inproceedings{Filinski10,
  author    = {Andrzej Filinski},
  title     = {Monads in action},
  booktitle = {{POPL}},
  pages     = {483--494},
  publisher = {{ACM}},
  year      = {2010}
}

# Landin's J operator
@article{Landin65,
  author    = {Peter J. Landin},
  title     = {Correspondence between {ALGOL} 60 and {C}hurch's {L}ambda-notation: part
               {I}},
  journal   = {Commun. {ACM}},
  volume    = {8},
  number    = {2},
  pages     = {89--101},
  year      = {1965}
}

@article{Landin65a,
  author    = {Peter J. Landin},
  title     = {A correspondence between {ALGOL} 60 and {C}hurch's {L}ambda-notations:
               Part {II}},
  journal   = {Commun. {ACM}},
  volume    = {8},
  number    = {3},
  pages     = {158--167},
  year      = {1965}
}

@article{Landin98,
  author    = {Peter J. Landin},
  title     = {A Generalization of Jumps and Labels},
  journal   = {Higher-Order and Symbolic Computation},
  volume    = {11},
  number    = {2},
  pages     = {125--143},
  year      = {1998},
  note      = {Reprint of {UNIVAC} Systems Programming Research report (August 1965)}
}

@article{Felleisen87b,
  author    = {Matthias Felleisen},
  title     = {Reflections on Landins's J-Operator: {A} Partly Historical Note},
  journal   = {Comput. Lang.},
  volume    = {12},
  number    = {3/4},
  pages     = {197--207},
  year      = {1987}
}

@article{Thielecke98,
  author    = {Hayo Thielecke},
  title     = {An Introduction to {Landin's} ``A Generalization of Jumps and Labels''},
  journal   = {High. Order Symb. Comput.},
  volume    = {11},
  number    = {2},
  pages     = {117--123},
  year      = {1998}
}

@article{DanvyM08,
  author    = {Olivier Danvy and
               Kevin Millikin},
  title     = {A Rational Deconstruction of Landin's {SECD} Machine with the {J}
               Operator},
  journal   = {Log. Methods Comput. Sci.},
  volume    = {4},
  number    = {4},
  year      = {2008}
}

# Cupto
@inproceedings{GunterRR95,
  author    = {Carl A. Gunter and
               Didier R{\'{e}}my and
               Jon G. Riecke},
  title     = {A Generalization of Exceptions and Control in ML-like Languages},
  booktitle = {{FPCA}},
  pages     = {12--23},
  publisher = {{ACM}},
  year      = {1995}
}

# Felleisen's F
@techreport{FelleisenFDM87,
  author    = {Matthias Felleisen
               and Daniel P. Friedman
               and Bruce Duba
               and John Merrill},
  title     = {Beyond Continuations},
  number    = {216},
  institution = {Computer Science Department, Indiana University},
  address   = {Bloomington, Indiana 47405, USA},
  year      = 1987,
  month     = feb
}

@inproceedings{Felleisen88,
  author    = {Matthias Felleisen},
  title     = {The Theory and Practice of First-Class Prompts},
  booktitle = {{POPL}},
  pages     = {180--190},
  publisher = {{ACM} Press},
  year      = {1988}
}

@inproceedings{FelleisenWFD88,
  author    = {Matthias Felleisen and
               Mitchell Wand and
               Daniel P. Friedman and
               Bruce F. Duba},
  title     = {Abstract Continuations: {A} Mathematical Semantics for Handling Full
               Jumps},
  booktitle = {{LISP} and Functional Programming},
  pages     = {52--62},
  publisher = {{ACM}},
  year      = {1988}
}

# Control and prompt
@article{SitaramF90,
  author    = {Dorai Sitaram and
               Matthias Felleisen},
  title     = {Control Delimiters and Their Hierarchies},
  journal   = {{LISP} Symb. Comput.},
  volume    = {3},
  number    = {1},
  pages     = {67--99},
  year      = {1990}
}

@inproceedings{KameyamaY08,
  author    = {Yukiyoshi Kameyama and
               Takuo Yonezawa},
  title     = {Typed Dynamic Control Operators for Delimited Continuations},
  booktitle = {{FLOPS}},
  series    = {{LNCS}},
  volume    = {4989},
  pages     = {239--254},
  publisher = {Springer},
  year      = {2008}
}

# Escape
@article{Reynolds98a,
  author    = {John C. Reynolds},
  title     = {Definitional Interpreters for Higher-Order Programming Languages},
  journal   = {High. Order Symb. Comput.},
  volume    = {11},
  number    = {4},
  pages     = {363--397},
  year      = {1998},
  note      = {This paper originally appeared in the Proceedings of
               the ACM National Conference, volume 2, August, 1972,
               pages 717–740.}
}

# Shift/reset
@techreport{DanvyF89,
  author    = {Olivier Danvy and Andrzej Filinski},
  title     = {A Functional Abstraction of Typed Contexts},
  number    = {89/12},
  institution = {DIKU, Computer Science Department, University of Copenhagen},
  address   = {Copenhagen, Denmark},
  year      = 1989,
  month     = jul
}

@article{BiernackiDS05,
  author    = {Dariusz Biernacki and
               Olivier Danvy and
               Chung{-}chieh Shan},
  title     = {On the dynamic extent of delimited continuations},
  journal   = {Inf. Process. Lett.},
  volume    = {96},
  number    = {1},
  pages     = {7--17},
  year      = {2005}
}

# Amb
@incollection{McCarthy63,
  author = {John McCarthy},
  title = {A Basis for a Mathematical Theory of Computation},
  editor = {P. Braffort and D. Hirschberg},
  series = {Studies in Logic and the Foundations of Mathematics},
  publisher = {Elsevier},
  volume = {35},
  pages = {33--70},
  year = {1963},
  booktitle = {Computer Programming and Formal Systems},
  OPTissn = "0049-237X",
  OPTdoi = "https://doi.org/10.1016/S0049-237X(08)72018-4"
}

# Simula (coroutines)
@inproceedings{DahlMN68,
  author    = {Ole-Johan Dahl and Bj\o{}rn Myhrhaug and Kristen Nygaard},
  title     = {Some Features of the {SIMULA} 67 Language},
  year      = {1968},
  publisher = {Winter Simulation Conference},
  booktitle = {Proceedings of the Second Conference on Applications of Simulations},
  pages     = {29--31},
  numpages  = {3},
  location  = {New York, New York, USA}
}

@book{DahlDH72,
  editor    = {Ole-Johan Dahl and Edgar W. Dijkstra and C. A. R. Hoare},
  title     = {Structured Programming},
  year      = {1972},
  isbn      = {0122005503},
  publisher = {Academic Press Ltd.},
  address   = {GBR}
}

# Second-hand reference for the inventor of coroutines
@book{Knuth97,
  author    = {Donald E. Knuth},
  title     = {The Art of Computer Programming, Volume 1 (3rd Ed.): Fundamental Algorithms},
  year      = {1997},
  isbn      = {0201896834},
  publisher = {Addison Wesley Longman Publishing Co., Inc.},
  address   = {USA}
}

# Coroutines
@article{MouraI09,
  author    = {Ana L{\'{u}}cia de Moura and
               Roberto Ierusalimschy},
  title     = {Revisiting coroutines},
  journal   = {{ACM} Trans. Program. Lang. Syst.},
  volume    = {31},
  number    = {2},
  pages     = {6:1--6:31},
  year      = {2009}
}

@article{AbadiP10,
  author    = {Mart{\'{\i}}n Abadi and
               Gordon D. Plotkin},
  title     = {A Model of Cooperative Threads},
  journal   = {Log. Methods Comput. Sci.},
  volume    = {6},
  number    = {4},
  year      = {2010}
}

# Second-hand reference for call/cc
@techreport{AbelsonHAKBOBPCRFRHSHW85,
  author    = {William D. Clinger and others},
  @Comment  = {Hal Abelson
  @Comment              and Chris Haynes
  @Comment              and Norman Adams
  @Comment              and Eugene Kohlbecker
  @Comment              and David Bartley
  @Comment              and Don Oxley
  @Comment              and Gary Brooks
  @Comment              and Kent Pitman
  @Comment              and William Clinger
  @Comment              and Jonathan Rees
  @Comment              and Dan Friedman
  @Comment              and Bill Rozas
  @Comment              and Robert Halstead
  @Comment              and Gerald Jey Sussman
  @Comment              and Chris Hanson
  @Comment              and Mitchell Wand},
  title      = {The Revised Revised Report on {Scheme} or An {UnCommon} {Lisp}},
  year        = {1985},
  institution = {MIT},
  number     = {AIM-848},
  month      = aug
}

# callcomp
@inproceedings{FlattYFF07,
  author    = {Matthew Flatt and
               Gang Yu and
               Robert Bruce Findler and
               Matthias Felleisen},
  title     = {Adding delimited and composable control to a production programming
               environment},
  booktitle = {{ICFP}},
  pages     = {165--176},
  publisher = {{ACM}},
  year      = {2007}
}

# Constraining call/cc
@inproceedings{FriedmanH85,
  author    = {Daniel P. Friedman and
               Christopher T. Haynes},
  title     = {Constraining Control},
  booktitle = {{POPL}},
  pages     = {245--254},
  publisher = {{ACM} Press},
  year      = {1985}
}

@article{HaynesF87,
  author    = {Christopher T. Haynes and
               Daniel P. Friedman},
  title     = {Embedding Continuations in Procedural Objects},
  journal   = {{ACM} Trans. Program. Lang. Syst.},
  volume    = {9},
  number    = {4},
  pages     = {582--598},
  year      = {1987}
}

# Splitter
@inproceedings{QueinnecS91,
  author    = {Christian Queinnec and
               Bernard P. Serpette},
  title     = {A Dynamic Extent Control Operator for Partial Continuations},
  booktitle = {{POPL}},
  pages     = {174--184},
  publisher = {{ACM} Press},
  year      = {1991}
}

# Spawn
@article{HiebDA94,
  author    = {Robert Hieb and
               R. Kent Dybvig and
               Claude W. Anderson III},
  title     = {Subcontinuations},
  journal   = {{LISP} Symb. Comput.},
  volume    = {7},
  number    = {1},
  pages     = {83--110},
  year      = {1994}
}

# marker and callpc
@inproceedings{MoreauQ94,
  author    = {Luc Moreau and
               Christian Queinnec},
  title     = {Partial Continuations as the Difference of Continuations - {A} Duumvirate
               of Control Operators},
  booktitle = {{PLILP}},
  series    = {{LNCS}},
  volume    = {844},
  pages     = {182--197},
  publisher = {Springer},
  year      = {1994}
}

# Comparison of (some) delimited control operators
@misc{Shan04,
  author    = {Chung{-}chieh Shan},
  title     = {Shift to Control},
  howpublished = {{ACM SIGPLAN} Scheme Workshop},
  year      = {2004}
}

@article{Shan07,
  author    = {Chung{-}chieh Shan},
  title     = {A static simulation of dynamic delimited control},
  journal   = {High. Order Symb. Comput.},
  volume    = {20},
  number    = {4},
  pages     = {371--401},
  year      = {2007}
}

# MacLisp (catch)
@misc{Moon74,
  author   = {David A. Moon},
  title    = {{MACLISP} Reference Manual (Revision 0)},
  year     = 1974,
  howpublished = {Project {MAC} -- {MIT}},
  month    = apr
}

# Common Lisp (resumable exceptions)
@book{Steele90,
  author = {Guy L. Steele},
  title = {Common {LISP}: The Language (2nd Ed.)},
  year = {1990},
  isbn = {1555580416},
  publisher = {Digital Press},
  address = {USA}
}

# System F
@phdthesis{Girard72,
  author = {Jean-Yves Girard},
  school = {Universit{\'e} Paris 7},
  title = {Interpr{\'e}tation fonctionnelle et {\'e}limination des coupures de l'arithm{\'e}tique d'ordre sup{\'e}rieur},
  year = 1972,
  address = {France}
}

@inproceedings{Reynolds74,
  author    = {John C. Reynolds},
  title     = {Towards a theory of type structure},
  booktitle = {Symposium on Programming},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {19},
  pages     = {408--423},
  publisher = {Springer},
  year      = {1974}
}

@inproceedings{Wadler89,
  author    = {Philip Wadler},
  title     = {Theorems for Free!},
  booktitle = {{FPCA}},
  pages     = {347--359},
  publisher = {{ACM}},
  year      = {1989}
}

# Tail calls
@inproceedings{Clinger98,
  author    = {William D. Clinger},
  title     = {Proper Tail Recursion and Space Efficiency},
  booktitle = {{PLDI}},
  pages     = {174--185},
  publisher = {{ACM}},
  year      = {1998}
}

# Unix
@article{RitchieT74,
  author    = {Dennis Ritchie and
               Ken Thompson},
  title     = {The {UNIX} Time-Sharing System},
  journal   = {Commun. {ACM}},
  volume    = {17},
  number    = {7},
  pages     = {365--375},
  year      = {1974}
}

@book{Raymond03,
  author    = {Eric Steven Raymond},
  title     = {The Art of {UNIX} Programming},
  year      = {2003},
  isbn      = {0131429019},
  publisher = {Pearson Education}
}

# GNU coreutils
@book{MacKenzieMPPBYS20,
  author = {David MacKenzie and others},
  @Comment = {David MacKenzie
  @Comment           and Jim Meyering
  @Comment           and Ross Paterson
  @Comment           and François Pinard
  @Comment           and Karl Berry
  @Comment           and Brian Youmans
  @Comment           and Richard Stallman},
  title  = {{GNU} {Coreutils}},
  note   = {For version 8.32},
  month  = feb,
  year   = 2020,
  publisher = {Free Software Foundation},
  OPTaddress = {Boston, MA, USA}
}

@book{PizziniBMG20,
  author = {Ken Pizzini and Paolo Bonzini and Jim Meyering and Assaf Gordon},
  @Comment = {David MacKenzie
  @Comment           and Jim Meyering
  @Comment           and Ross Paterson
  @Comment           and François Pinard
  @Comment           and Karl Berry
  @Comment           and Brian Youmans
  @Comment           and Richard Stallman},
  title  = {{GNU} sed, a stream editor},
  note   = {For version 4.8},
  month  = jan,
  year   = 2020,
  publisher = {Free Software Foundation},
  OPTaddress = {Boston, MA, USA}
}

# Expressiveness
@inproceedings{Felleisen90,
  author    = {Matthias Felleisen},
  title     = {On the Expressive Power of Programming Languages},
  booktitle = {{ESOP}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {432},
  pages     = {134--151},
  publisher = {Springer},
  year      = {1990}
}

@article{Felleisen91,
  author    = {Matthias Felleisen},
  title     = {On the Expressive Power of Programming Languages},
  journal   = {Sci. Comput. Program.},
  volume    = {17},
  number    = {1-3},
  pages     = {35--75},
  year      = {1991},
  note      = {Revised version}
}

@inproceedings{CartwrightF92,
  author    = {Robert Cartwright and
               Matthias Felleisen},
  title     = {Observable Sequentiality and Full Abstraction},
  booktitle = {{POPL}},
  pages     = {328--342},
  publisher = {{ACM} Press},
  year      = {1992}
}

@book{LongleyN15,
  author    = {John Longley and
               Dag Normann},
  title     = {Higher-Order Computability},
  series    = {Theory and Applications of Computability},
  publisher = {Springer},
  year      = {2015}
}

@inproceedings{Longley08,
  author    = {John Longley},
  title     = {Interpreting Localized Computational Effects Using Operators of Higher
               Type},
  booktitle = {CiE},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {5028},
  pages     = {389--402},
  publisher = {Springer},
  year      = {2008}
}

# Catchcont
@inproceedings{Longley09,
  author    = {John Longley},
  title     = {Some Programming Languages Suggested by Game Models (Extended Abstract)},
  booktitle = {{MFPS}},
  journal   = {Electr. Notes Theor. Comput. Sci.},
  volume    = {249},
  pages     = {117--134},
  publisher = {Elsevier},
  year      = {2009}
}

@misc{LongleyW08,
  author    = {John Longley and Nicholas Wolverson},
  title     = {Eriskay: a programming language based on game semantics},
  month     = apr,
  year      = 2008,
  howpublished = {Presented at {GaLoP III}}
}

# Value restriction
@article{Wright95,
  author    = {Andrew K. Wright},
  title     = {Simple Imperative Polymorphism},
  journal   = {{LISP} Symb. Comput.},
  volume    = {8},
  number    = {4},
  pages     = {343--355},
  year      = {1995}
}

# Shakespeare's Hamlet
@misc{Shakespeare6416,
  author = {William Shakespeare},
  title  = {The {Tragedy} of {Hamlet}, {Prince} of {Denmark}},
  year   = {1564-1616}
}

# Introductory PL books
@book{Pierce02,
  author    = {Benjamin C. Pierce},
  title     = {Types and programming languages},
  publisher = {{MIT} Press},
  year      = {2002}
}

@book{Harper16,
  author    = {Robert Harper},
  title     = {Practical Foundations for Programming Languages (2nd. Ed.)},
  publisher = {Cambridge University Press},
  year      = {2016}
}

# Andrej's tutorial
@article{Bauer18,
  author    = {Andrej Bauer},
  title     = {What is algebraic about algebraic effects and handlers?},
  journal   = {CoRR},
  volume    = {abs/1807.05923},
  year      = {2018}
}

# Talcott's dissertation
@phdthesis{Talcott85,
  author    = {Carolyn L. Talcott},
  title     = {The Essence of Rum --- A theory of the intensional and extensional aspects of Lisp-type computation},
  school    = {Stanford University},
  year      = 1985,
  address   = {Stanford, CA 94305, USA}
}

# Fcontrol
@inproceedings{Sitaram93,
  author    = {Dorai Sitaram},
  title     = {Handling Control},
  booktitle = {{PLDI}},
  pages     = {147--155},
  publisher = {{ACM}},
  year      = {1993}
}

# Purely functional data structures
@book{Okasaki99,
  author    = {Chris Okasaki},
  title     = {Purely functional data structures},
  publisher = {Cambridge University Press},
  year      = {1999}
}

# Interleaved computation
@inproceedings{Milner75,
  author    = {Robin Milner},
  title     = {Processes: A Mathematical Model of Computing Agents},
  booktitle = {Studies in Logic and the Foundations of Mathematics},
  publisher = {Elsevier},
  pages     = {157--173},
  year      = {1975}
}

@article{Plotkin76,
  author    = {Gordon D. Plotkin},
  title     = {A Powerdomain Construction},
  journal   = {{SIAM} J. Comput.},
  volume    = {5},
  number    = {3},
  pages     = {452--487},
  year      = {1976}
}

@inproceedings{Wand80,
  author    = {Mitchell Wand},
  title     = {Continuation-Based Multiprocessing},
  booktitle = {{LISP} Conference},
  pages     = {19--28},
  publisher = {{ACM}},
  year      = {1980}
}

@inproceedings{HaynesF84,
  author    = {Christopher T. Haynes and
               Daniel P. Friedman},
  title     = {Engines Build Process Abstractions},
  booktitle = {{LISP} and Functional Programming},
  pages     = {18--24},
  publisher = {{ACM}},
  year      = {1984}
}

@article{HaynesFW86,
  author    = {Christopher T. Haynes and
               Daniel P. Friedman and
               Mitchell Wand},
  title     = {Obtaining Coroutines with Continuations},
  journal   = {Comput. Lang.},
  volume    = {11},
  number    = {3/4},
  pages     = {143--153},
  year      = {1986}
}

@techreport{Moggi90,
  title = {An Abstract View of Programming Languages},
  author = {Eugenio Moggi},
  institution = {{LFCS}, The University of Edinburgh},
  number = {ECS-LFCS-90-113},
  year = {1990},
  address = {Scotland, {UK}}
}

@article{DybvigH89,
  author    = {R. Kent Dybvig and
               Robert Hieb},
  title     = {Engines From Continuations},
  journal   = {Comput. Lang.},
  volume    = {14},
  number    = {2},
  pages     = {109--123},
  year      = {1989}
}

@inproceedings{HiebD90,
  author    = {Robert Hieb and
               R. Kent Dybvig},
  title     = {Continuations and Concurrency},
  booktitle = {{PPOPP}},
  pages     = {128--136},
  publisher = {{ACM}},
  year      = {1990}
}

@inproceedings{GanzFW99,
  author    = {Steven E. Ganz and
               Daniel P. Friedman and
               Mitchell Wand},
  title     = {Trampolined Style},
  booktitle = {{ICFP}},
  pages     = {18--27},
  publisher = {{ACM}},
  year      = {1999}
}

@inproceedings{Papaspyrou01,
  author    = {Nikolaos S. Papspyrou},
  title     = {A resumption monad transformer and its applications in the semantics of concurrency},
  booktitle = {Proceedings of the 3rd Panhellenic Logic Symposium},
  address   = {Anogia, Greece}
}

@inproceedings{Harrison06,
  author    = {William L. Harrison},
  title     = {The Essence of Multitasking},
  booktitle = {{AMAST}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {4019},
  pages     = {158--172},
  publisher = {Springer},
  year      = {2006}
}

@article{AtkeyJ15,
  author    = {Robert Atkey and
               Patricia Johann},
  title     = {Interleaving data and effects},
  journal   = {J. Funct. Program.},
  volume    = {25},
  year      = {2015}
}

# History of continuations
@article{Reynolds93,
  author    = {John C. Reynolds},
  title     = {The Discoveries of Continuations},
  journal   = {{LISP} Symb. Comput.},
  volume    = {6},
  number    = {3-4},
  pages     = {233--248},
  year      = {1993}
}

# Terminology: 'partial' and 'full' continuations
@inproceedings{JohnsonD88,
  author    = {Gregory F. Johnson and
               Dominic Duggan},
  title     = {Stores and Partial Continuations as First-Class Objects in a Language
               and its Environment},
  booktitle = {{POPL}},
  pages     = {158--168},
  publisher = {{ACM} Press},
  year      = {1988}
}

# Racket
@misc{Flatt20,
  author = {Matthew Flatt and {PLT}},
  title  = {The {R}acket Reference (version 7.9)},
  month  = nov,
  year   = 2020
}

@article{FlattDDKMSTZ19,
  author    = {Matthew Flatt and
               Caner Derici and
               R. Kent Dybvig and
               Andrew W. Keep and
               Gustavo E. Massaccesi and
               Sarah Spall and
               Sam Tobin{-}Hochstadt and
               Jon Zeppieri},
  title     = {Rebuilding racket on chez scheme (experience report)},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {3},
  number    = {{ICFP}},
  pages     = {78:1--78:15},
  year      = {2019}
}



# Gauche
@misc{Kawai20,
  author = {Shiro Kawai},
  title  = {{Gauche} Users' Reference (version 0.9.9)},
  year   = 2019
}

# OchaCaml
@inproceedings{MasukoA11,
  author    = {Moe Masuko and Kenchi Asai},
  title     = {{Caml} {Light} + shift/reset = {Caml} {Shift}},
  booktitle = {Theory and Practice of Delimited Continuations ({TPDC})},
  year      = 2011,
  pages     = {33--46}
}

# Shift/reset in Scala
@inproceedings{RompfMO09,
  author    = {Tiark Rompf and
               Ingo Maier and
               Martin Odersky},
  title     = {Implementing first-class polymorphic delimited continuations by a
               type-directed selective CPS-transform},
  booktitle = {{ICFP}},
  pages     = {317--328},
  publisher = {{ACM}},
  year      = {2009}
}


# First implementation of threads using continuations
@InProceedings{Burstall69,
  author    = {Rod M. Burstall},
  title     = {Writing Search Algorithms in Functional Form},
  booktitle = {Machine Intelligence},
  pages     = {373-385},
  year      = 1968,
  OPTeditor    = {Donald Michie},
  volume    = 3,
  publisher = {Edinburgh University Press}
}

# Continuation marks
@inproceedings{FlattD20,
  author    = {Matthew Flatt and
               R. Kent Dybvig},
  title     = {Compiler and runtime support for continuation marks},
  booktitle = {{PLDI}},
  pages     = {45--58},
  publisher = {{ACM}},
  year      = {2020}
}

# SML/NJ
@inproceedings{AppelM91,
  author    = {Andrew W. Appel and
               David B. MacQueen},
  title     = {Standard {ML} of New Jersey},
  booktitle = {{PLILP}},
  series    = {{LNCS}},
  volume    = {528},
  pages     = {1--13},
  publisher = {Springer},
  OPTdoi    = {10.1007/3-540-54444-5\_83},
  year      = {1991}
}

@inproceedings{AppelM87,
  author    = {Andrew W. Appel and
               David B. MacQueen},
  title     = {A Standard {ML} compiler},
  booktitle = {{FPCA}},
  series    = {{LNCS}},
  volume    = {274},
  pages     = {301--324},
  publisher = {Springer},
  OPTdoi    = {10.1007/3-540-18317-5\_17},
  year      = {1987}
}

# MLton
@misc{Fluet20,
  author = {Matthew Fluet and others},
  title  = {{MLton} Documentation},
  year   = 2014,
  month  = jan
}

# Comparison of control operators via double barrelled CPS
@article{Thielecke02,
  author    = {Hayo Thielecke},
  title     = {Comparing Control Constructs by Double-Barrelled {CPS}},
  journal   = {High. Order Symb. Comput.},
  volume    = {15},
  number    = {2-3},
  pages     = {141--160},
  year      = {2002}
}

# Comparison of effect handlers and shift/reset in a polymorphic type system
@inproceedings{PirogPS19,
  author    = {Maciej Pir{\'{o}}g and
               Piotr Polesiuk and
               Filip Sieczkowski},
  title     = {Typed Equivalence of Effect Handlers and Delimited Control},
  booktitle = {{FSCD}},
  series    = {LIPIcs},
  volume    = {131},
  pages     = {30:1--30:16},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
  year      = {2019}
}

# Original report and paper on continuations
@techreport{StracheyW74,
  author    = {Christopher Strachey and
               Christopher P. Wadsworth},
  title     = {Continuations: {A} Mathematical Semantics for Handling Full Jumps},
  institution = {Programming Research Group, University of Oxford},
  number    = {PRG-11},
  type      = {Technical Monograph},
  month     = jan,
  year      = 1974
}

@article{StracheyW00,
  author    = {Christopher Strachey and
               Christopher P. Wadsworth},
  title     = {Continuations: {A} Mathematical Semantics for Handling Full Jumps},
  journal   = {High. Order Symb. Comput.},
  volume    = {13},
  number    = {1/2},
  pages     = {135--152},
  year      = {2000}
}

# CPS and abstract machine correspondences
@inproceedings{DanvyN01,
  author    = {Olivier Danvy and
               Lasse R. Nielsen},
  title     = {Defunctionalization at Work},
  booktitle = {{PPDP}},
  pages     = {162--174},
  publisher = {{ACM}},
  year      = {2001}
}

@inproceedings{AgerBDM03,
  author    = {Mads Sig Ager and
               Dariusz Biernacki and
               Olivier Danvy and
               Jan Midtgaard},
  title     = {A functional correspondence between evaluators and abstract machines},
  booktitle = {{PPDP}},
  pages     = {8--19},
  publisher = {{ACM}},
  year      = {2003}
}

@article{AgerBDM03a,
  author    = {Mads Sig Ager and Dariusz Biernacki and Olivier Danvy and Jan Midtgaard},
  title     = {From Interpreter to Compiler and Virtual Machine: A Functional Derivation},
  volume    = {10},
  OPTurl    = {https://tidsskrift.dk/brics/article/view/21784},
  OPTdoi    = {10.7146/brics.v10i14.21784},
  number    = {14},
  journal   = {{BRICS} Report Series},
  year      = {2003},
  OPTmonth  = {Mar.}
}

@inproceedings{Danvy04,
  author    = {Olivier Danvy},
  title     = {A Rational Deconstruction of Landin's {SECD} Machine},
  booktitle = {{IFL}},
  series    = {{LNCS}},
  volume    = {3474},
  pages     = {52--71},
  publisher = {Springer},
  year      = {2004}
}

@article{AgerDM04,
  author    = {Mads Sig Ager and
               Olivier Danvy and
               Jan Midtgaard},
  title     = {A functional correspondence between call-by-need evaluators and lazy
               abstract machines},
  journal   = {Inf. Process. Lett.},
  volume    = {90},
  number    = {5},
  pages     = {223--232},
  year      = {2004}
}

@inproceedings{Danvy04a,
    author    = {Olivier Danvy},
    title     = {On Evaluation Contexts, Continuations, and the Rest of Computation},
    year      = {2004},
    booktitle = {{CW}},
    crossref  = {cw},
}

@techreport{cw,
  author  =	 {Hayo Thielecke (Editor)},
  title =	 {Proceedings of the Fourth {ACM} {SIGPLAN}
                  Continuations Workshop {(CW'04)}},
  number =	 {CSR-04-1},
  institution =	 {School of Computer Science, University of
                  Birmingham},
  address =	 {Birmingham B15 2TT, United Kingdom},
  year =	 2004,
}

@article{AgerDM05,
  author    = {Mads Sig Ager and
               Olivier Danvy and
               Jan Midtgaard},
  title     = {A functional correspondence between monadic evaluators and abstract
               machines for languages with computational effects},
  journal   = {Theor. Comput. Sci.},
  volume    = {342},
  number    = {1},
  pages     = {149--172},
  year      = {2005}
}

@article{DanvyM09,
  author    = {Olivier Danvy and
               Kevin Millikin},
  title     = {Refunctionalization at work},
  journal   = {Sci. Comput. Program.},
  volume    = {74},
  number    = {8},
  pages     = {534--549},
  year      = {2009}
}

# Answer type modification
@article{Danvy98,
  author    = {Olivier Danvy},
  title     = {Functional Unparsing},
  journal   = {J. Funct. Program.},
  volume    = {8},
  number    = {6},
  pages     = {621--625},
  year      = {1998}
}

@inproceedings{AsaiK07,
  author    = {Kenichi Asai and
               Yukiyoshi Kameyama},
  title     = {Polymorphic Delimited Continuations},
  booktitle = {{APLAS}},
  series    = {{LNCS}},
  volume    = {4807},
  pages     = {239--254},
  publisher = {Springer},
  year      = {2007}
}

@inproceedings{KoboriKK16,
  author    = {Ikuo Kobori and
               Yukiyoshi Kameyama and
               Oleg Kiselyov},
  title     = {Answer-Type Modification without Tears: Prompt-Passing Style Translation
               for Typed Delimited-Control Operators},
  booktitle = {WoC},
  series    = {{EPTCS}},
  volume    = {212},
  pages     = {36--52},
  year      = {2015}
}

# Abstract machines
@article{BiernackaBD03,
  author    = {Malgorzata Biernacka and Dariusz Biernacki and Olivier Danvy},
  title     = {An Operational Foundation for Delimited Continuations},
  volume    = {10},
  OPTdoi    = {10.7146/brics.v10i41.21809},
  number    = {41},
  journal   = {{BRICS} Report Series},
  year      = {2003},
  OPTmonth     = dec
}

@article{BiernackaBD05,
  author    = {Malgorzata Biernacka and
               Dariusz Biernacki and
               Olivier Danvy},
  title     = {An Operational Foundation for Delimited Continuations in the {CPS}
               Hierarchy},
  journal   = {Log. Methods Comput. Sci.},
  volume    = {1},
  number    = {2},
  year      = {2005}
}

@techreport{Leroy90,
  author = {Xavier Leroy},
  title = {The {ZINC} experiment: an economical
           implementation of the {ML} language},
  institution = {INRIA},
  type = {Technical report},
  number = {117},
  year = {1990},
  OPTurllocal = {https://xavierleroy.org/publi/ZINC.pdf},
}

@article{Krivine07,
  author    = {Jean{-}Louis Krivine},
  title     = {A call-by-name lambda-calculus machine},
  journal   = {High. Order Symb. Comput.},
  volume    = {20},
  number    = {3},
  pages     = {199--207},
  year      = {2007}
}

@article{DouenceF07,
  author    = {R{\'{e}}mi Douence and
               Pascal Fradet},
  title     = {The next 700 Krivine machines},
  journal   = {High. Order Symb. Comput.},
  volume    = {20},
  number    = {3},
  pages     = {237--255},
  year      = {2007}
}

# Derivation of abstract machines
@inproceedings{Swierstra12,
  author    = {Wouter Swierstra},
  title     = {From Mathematics to Abstract Machine: {A} formal derivation of an
               executable Krivine machine},
  booktitle = {{MSFP}},
  series    = {{EPTCS}},
  volume    = {76},
  pages     = {163--177},
  year      = {2012}
}

@article{BiernackaD07,
  author    = {Malgorzata Biernacka and
               Olivier Danvy},
  title     = {A concrete framework for environment machines},
  journal   = {{ACM} Trans. Comput. Log.},
  volume    = {9},
  number    = {1},
  pages     = {6},
  year      = {2007}
}

@inproceedings{HuttonW04,
  author    = {Graham Hutton and
               Joel J. Wright},
  title     = {Calculating an exceptional machine},
  booktitle = {Trends in Functional Programming},
  series    = {Trends in Functional Programming},
  volume    = {5},
  pages     = {49--64},
  publisher = {Intellect},
  year      = {2004}
}

# Partial evaluation with control
@inproceedings{LawallD94,
  author    = {Julia L. Lawall and
               Olivier Danvy},
  title     = {Continuation-Based Partial Evaluation},
  booktitle = {{LISP} and Functional Programming},
  pages     = {227--238},
  publisher = {{ACM}},
  year      = {1994}
}


# Staging using control
@article{KameyamaKS11,
  author    = {Yukiyoshi Kameyama and
               Oleg Kiselyov and
               Chung{-}chieh Shan},
  title     = {Shifting the stage - Staging with delimited control},
  journal   = {J. Funct. Program.},
  volume    = {21},
  number    = {6},
  pages     = {617--662},
  year      = {2011}
}

@inproceedings{OishiK17,
  author    = {Junpei Oishi and
               Yukiyoshi Kameyama},
  title     = {Staging with control: type-safe multi-stage programming with control
               operators},
  booktitle = {{GPCE}},
  pages     = {29--40},
  publisher = {{ACM}},
  year      = {2017}
}

@article{WeiBTR20,
  author    = {Guannan Wei and
               Oliver Bracevac and
               Shangyin Tan and
               Tiark Rompf},
  title     = {Compiling symbolic execution with staging and algebraic effects},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {4},
  number    = {{OOPSLA}},
  pages     = {164:1--164:33},
  year      = {2020}
}

# Coordination using control
@phdthesis{Bracevec19,
  author    = {Oliver Bracevac},
  title     = {Event Correlation with Algebraic Effects - Theory, Design and Implementation},
  school    = {Technische Universit{\"{a}}t Damstadt, Germany},
  year      = {2019}
}

@article{BracevacASEEM18,
  author    = {Oliver Bracevac and
               Nada Amin and
               Guido Salvaneschi and
               Sebastian Erdweg and
               Patrick Eugster and
               Mira Mezini},
  title     = {Versatile event correlation with algebraic effects},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {2},
  number    = {{ICFP}},
  pages     = {67:1--67:31},
  year      = {2018}
}

# Hindley-Milner type inference
@article{Hindley69,
 optISSN = {00029947},
 optURL = {http://www.jstor.org/stable/1995158},
 author = {Roger Hindley},
 journal = {Transactions of the AMS},
 pages = {29--60},
 publisher = {{AMS}},
 title = {The Principal Type-Scheme of an Object in Combinatory Logic},
 volume = {146},
 year = {1969}
}

@article{Milner78,
  author    = {Robin Milner},
  title     = {A Theory of Type Polymorphism in Programming},
  journal   = {J. Comput. Syst. Sci.},
  volume    = {17},
  number    = {3},
  pages     = {348--375},
  year      = {1978}
}

# Substructural type system for shift0/reset0
@inproceedings{KiselyovS07,
  author    = {Oleg Kiselyov and
               Chung{-}chieh Shan},
  title     = {A Substructural Type System for Delimited Continuations},
  booktitle = {{TLCA}},
  series    = {{LNCS}},
  volume    = {4583},
  pages     = {223--239},
  publisher = {Springer},
  year      = {2007}
}

# Exception handling with success continuations
@article{BentonK01,
  author    = {Nick Benton and
               Andrew Kennedy},
  title     = {Exceptional Syntax Journal of Functional Programming},
  journal   = {J. Funct. Program.},
  volume    = {11},
  number    = {4},
  pages     = {395--410},
  year      = {2001}
}

# Typed multi prompts
@article{DybvigJS07,
  author    = {R. Kent Dybvig and
               Simon L. Peyton Jones and
               Amr Sabry},
  title     = {A monadic framework for delimited continuations},
  journal   = {J. Funct. Program.},
  volume    = {17},
  number    = {6},
  pages     = {687--730},
  year      = {2007}
}

# Sitaram's phd dissertation
@phdthesis{Sitaram94,
  author    = {Dorai Sitaram},
  title     = {Models of Control and Their Implications for Programming Language Design},
  school    = {Rice University, Houston, Texas, {USA}},
  month     = apr,
  year      = {1994}
}

# Differentiable programming with delimited continuations
@article{WangZDWER19,
  author    = {Fei Wang and
               Daniel Zheng and
               James M. Decker and
               Xilun Wu and
               Gr{\'{e}}gory M. Essertel and
               Tiark Rompf},
  title     = {Demystifying differentiable programming: shift/reset the penultimate
               backpropagator},
  journal   = {Proc. {ACM} Program. Lang.},
  volume    = {3},
  number    = {{ICFP}},
  pages     = {96:1--96:31},
  year      = {2019}
}

# Probabilistic programming with continuations
@inproceedings{KiselyovS09,
  author    = {Oleg Kiselyov and
               Chung{-}chieh Shan},
  title     = {Embedded Probabilistic Programming},
  booktitle = {{DSL}},
  series    = {{LNCS}},
  volume    = {5658},
  pages     = {360--384},
  publisher = {Springer},
  year      = {2009}
}


@InProceedings{GorinovaMH20,
  title = {Automatic Reparameterisation of Probabilistic Programs},
  author = {Maria I. Gorinova and Dave Moore and Matthew D. Hoffman},
  booktitle = {{ICML}},
  pages = {3648--3657},
  year = {2020},
  OPTeditor = {Hal Daumé III and Aarti Singh},
  volume = {119},
  OPTseries = {Proceedings of Machine Learning Research},
  OPTaddress = {Virtual},
  OPTmonth = {13--18 Jul},
  publisher = {PMLR},
  OPTpdf = {http://proceedings.mlr.press/v119/gorinova20a/gorinova20a.pdf},
  OPTurl = {http://proceedings.mlr.press/v119/gorinova20a.html},
}

# Continuations in operating systems
@inproceedings{KiselyovS07a,
  author    = {Oleg Kiselyov and
               Chung{-}chieh Shan},
  title     = {Delimited Continuations in Operating Systems},
  booktitle = {{CONTEXT}},
  series    = {{LNCS}},
  volume    = {4635},
  pages     = {291--302},
  publisher = {Springer},
  year      = {2007}
}

# Web programming and continuations
@article{Queinnec04,
  author    = {Christian Queinnec},
  title     = {Continuations and Web Servers},
  journal   = {High. Order Symb. Comput.},
  volume    = {17},
  number    = {4},
  pages     = {277--295},
  year      = {2004}
}

# Erlang
@book{ArmstrongVW93,
  author    = {Joe Armstrong and
               Robert Virding and
               Mike Williams},
  title     = {Concurrent programming in {ERLANG}},
  publisher = {Prentice Hall},
  year      = {1993}
}

# Asynchrony with effect handlers
@inproceedings{Leijen17a,
  author    = {Daan Leijen},
  title     = {Structured asynchrony with algebraic effects},
  booktitle = {TyDe@ICFP},
  pages     = {16--29},
  publisher = {{ACM}},
  year      = {2017}
}

# Surveys of implementation strategies for continuations
@inproceedings{ClingerHO88,
  author    = {William D. Clinger and
               Anne Hartheimer and
               Eric Ost},
  title     = {Implementation Strategies for Continuations},
  booktitle = {{LISP} and Functional Programming},
  pages     = {124--131},
  publisher = {{ACM}},
  year      = {1988}
}

@inproceedings{FarvardinR20,
  author    = {Kavon Farvardin and
               John H. Reppy},
  title     = {From folklore to fact: comparing implementations of stacks and continuations},
  booktitle = {{PLDI}},
  pages     = {75--90},
  publisher = {{ACM}},
  year      = {2020}
}

# Non-contiguous stacks
@inproceedings{Danvy87,
  author    = {Olivier Danvy},
  title     = {Memory allocation and higher-order functions},
  booktitle = {{PLDI}},
  pages     = {241--252},
  publisher = {{ACM}},
  year      = {1987}
}

# Stack copying technique without direct access to the stack.
@inproceedings{PettyjohnCMKF05,
  author    = {Greg Pettyjohn and
               John Clements and
               Joe Marshall and
               Shriram Krishnamurthi and
               Matthias Felleisen},
  title     = {Continuations from generalized stack inspection},
  booktitle = {{ICFP}},
  pages     = {216--227},
  publisher = {{ACM}},
  year      = {2005}
}

# Catamorphisms
@inproceedings{MeijerFP91,
  author    = {Erik Meijer and
               Maarten M. Fokkinga and
               Ross Paterson},
  title     = {Functional Programming with Bananas, Lenses, Envelopes and Barbed
               Wire},
  booktitle = {{FPCA}},
  series    = {{LNCS}},
  volume    = {523},
  pages     = {124--144},
  publisher = {Springer},
  year      = {1991}
}

# Mutumorphisms
@article{Fokkinga90,
  author = {Maarten M. Fokkinga},
  title  = {Tupling and mutumorphisms},
  journal = {The Squiggolist},
  volume = {1},
  number = {4},
  pages  = {81--82},
  year   = {1990}
}

# Computation trees
@article{Kleene59,
  author    = {Stephen C. Kleene},
  title     = {Recursive Functionals and Quantifiers of Finite Types I},
  journal   = {Transactions of the {AMS}},
  volume    = {91},
  pages     = {1--52},
  year      = {1959}
}

@article{Kleene63,
  author    = {Stephen C. Kleene},
  title     = {Recursive Functionals and Quantifiers of Finite Types II},
  journal   = {Transactions of the {AMS}},
  volume    = {108},
  pages     = {106--142},
  year      = {1963}
}

# Scott encoding
@unpublished{Scott62,
  author    = {Dana Scott},
  title     = {A system of functional abstraction},
  note      = {Lectures delivered at University of California, Berkeley, California, USA, 1962/63}
}

# Computer architecture
@book{BryantO03,
  author    = {Randal E. Bryant and
               David R. O'Hallaron},
  title     = {Computer systems - a programmers perspective},
  publisher = {Pearson Education},
  year      = {2003},
  edition   = {2nd}
}

# Hughes lists
@article{Hughes86,
  author    = {John Hughes},
  title     = {A Novel Representation of Lists and its Application to the Function
               "reverse"},
  journal   = {Inf. Process. Lett.},
  volume    = {22},
  number    = {3},
  pages     = {141--144},
  year      = {1986}
}

# Exact real integration
@inproceedings{Simpson98,
  author    = {Alex K. Simpson},
  title     = {Lazy Functional Algorithms for Exact Real Functionals},
  booktitle = {{MFCS}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {1450},
  pages     = {456--464},
  publisher = {Springer},
  year      = {1998}
}

# Robbie Daniels' MSc dissertation
@MastersThesis{Daniels16,
    author     =     {Robbie Daniels},
    title      =     {Efficient Generic Searches and Programming Language Expressivity},
    school     =     {School of Informatics, the University of Edinburgh},
    address    =     {Scotland},
    month      =     aug,
    year       =     2016,
    OPTurl        = {http://homepages.inf.ed.ac.uk/jrl/Research/Robbie_Daniels_MSc_dissertation.pdf}
}

# Computability
@article{Plotkin77,
  author    =  {Gordon Plotkin},
  title     =  {{LCF} considered as a programming language},
  journal   =  {Theor. Comput. Sci.},
  volume    =  {5},
  number    =  {3},
  pages     =  {223--255},
  year      =  {1977}
}

@inproceedings{Pippenger96,
  author    =  {Nicholas Pippenger},
  title     =  {Pure versus impure Lisp},
  booktitle =  {{POPL}},
  pages     =  {104--109},
  publisher =  {{ACM}},
  year      =  {1996}
}

@inproceedings{Longley99,
  author    =  {John Longley},
  title     =  {When is a functional program not a functional program?},
  booktitle =  {{ICFP}},
  pages     =  {1--7},
  publisher =  {{ACM}},
  year      =  {1999}
}

@article{Longley18a,
  author    =  {John Longley},
  title     =  {The recursion hierarchy for {PCF} is strict},
  journal   =  {Logical Methods in Comput. Sci.},
  volume    =  {14},
  number    =  {3:8},
  pages     =  {1--51},
  year      =  {2018}
}

@article{Longley19,
  author    = {John Longley},
  title     = {Bar recursion is not computable via iteration},
  journal   = {Computability},
  volume    = {8},
  number    = {2},
  pages     = {119--153},
  year      = {2019}
}

@article{BirdJdM97,
   author   =  {Richard Bird and
                Geraint Jones and
		Oege de Moor},
   title    =  {More haste less speed: lazy versus eager evaluation},
   journal  =  {J. Funct. Program.},
   volume   =  {7},
   number   =  {5},
   pages    =  {541--547},
   year     =  {1997}
}

@article{Jones01,
   author   =  {Neil Jones},
   title    =  {The expressive power of higher-order types, or, life without {CONS}},
   journal  =  {J. Funct. Program.},
   volume   =  {11},
   pages    =  {5--94},
   year     =  {2001}
}

# n-queens
@article{BellS09,
  author    = {Jordan Bell and
               Brett Stevens},
  title     = {A survey of known results and research areas for n-queens},
  journal   = {Discret. Math.},
  volume    = {309},
  number    = {1},
  pages     = {1--31},
  year      = {2009}
}

# Sudoko
@article{Bird06,
  author    = {Richard S. Bird},
  title     = {Functional Pearl: {A} program to solve Sudoku},
  journal   = {J. Funct. Program.},
  volume    = {16},
  number    = {6},
  pages     = {671--679},
  year      = {2006}
}

# Environment-store model
@article{ScottS71,
  author  = {Dana Scott and Christopher Strachey},
  journal = {Proceedings of the Symposium on Computers and Automata},
  series  = {Microwave Research Institute Symposia Series},
  volume  = {21},
  year    = {1971}
}

# Backtracking
@article{KiselyovSFA05,
  author    = {Kiselyov, Oleg and Shan, Chung-chieh and Friedman, Daniel P. and Sabry, Amr},
  title     = {Backtracking, Interleaving, and Terminating Monad Transformers: (Functional Pearl)},
  booktitle = {{ICFP}},
  pages     = {192--203},
  publisher = {{ACM}},
  year      = {2005},
}

# Ulrich Berger's PhD thesis
@phdthesis{Berger90,
    author = {Ulrich Berger},
    title  = {Totale Objekte und Mengen in der Bereichstheorie},
    school = {Ludwig Maximillians-Universtität},
    address = {Munich},
    year   = {1990}
}

# Exhaustive search on infinite sets
@inproceedings{Escardo07,
  author    = {Mart{\'{\i}}n H{\"{o}}tzel Escard{\'{o}}},
  title     = {Infinite sets that admit fast exhaustive search},
  booktitle = {{LICS}},
  pages     = {443--452},
  publisher = {{IEEE} Computer Society},
  year      = {2007}
}

@misc{Bauer11,
  author    = {Andrej Bauer},
  title     = {How make the "impossible" functionals run even faster},
  howpublished = {{M}athematics, {A}lgorithms and {P}roofs, Leiden, the Netherlands},
  year      = 2011,
  url       = {http://math.andrej.com/2011/12/06/how-to-make-the-impossible-functionals-run-even-faster/}
}

# MirageOS
@article{MadhavapeddyS14,
  author    = {Anil Madhavapeddy and
               David J. Scott},
  title     = {Unikernels: the rise of the virtual library operating system},
  journal   = {Commun. {ACM}},
  volume    = {57},
  number    = {1},
  pages     = {61--69},
  year      = {2014}
}

# Async/await
@article{Claessen99,
  author    = {Koen Claessen},
  title     = {A Poor Man's Concurrency Monad},
  journal   = {J. Funct. Program.},
  volume    = {9},
  number    = {3},
  pages     = {313--323},
  year      = {1999}
}

@inproceedings{LiZ07,
  author    = {Peng Li and
               Steve Zdancewic},
  title     = {Combining events and threads for scalable network services implementation
               and evaluation of monadic, application-level concurrency primitives},
  booktitle = {{PLDI}},
  pages     = {189--199},
  publisher = {{ACM}},
  year      = {2007}
}

@inproceedings{SymePL11,
  author    = {Don Syme and
               Tomas Petricek and
               Dmitry Lomov},
  title     = {The F{\#} Asynchronous Programming Model},
  booktitle = {{PADL}},
  OPTseries    = {Lecture Notes in Computer Science},
  series    = {{LNCS}},
  volume    = {6539},
  pages     = {175--189},
  publisher = {Springer},
  year      = {2011}
}

# Continuations via generators and iterators
@inproceedings{JamesS11,
  title = {Yield: Mainstream delimited continuations},
  author= {Roshan P James and Amr Sabry},
  year  = {2011},
  booktitle = {{TPDC}}
}

# Generators / iterators
@article{ShawWL77,
  author    = {Mary Shaw and
               William A. Wulf and
               Ralph L. London},
  title     = {Abstraction and Verification in Alphard: Defining and Specifying Iteration
               and Generators},
  journal   = {Commun. {ACM}},
  volume    = {20},
  number    = {8},
  pages     = {553--564},
  year      = {1977}
}

# Fellowship of the Ring reference
@book{Tolkien54,
  title = {The lord of the rings: Part 1: The fellowship of the ring},
  author    = {John Ronald Reuel Tolkien},
  publisher = {Allen and Unwin},
  year      = 1954,
  language = {eng},
  keywords = {Fiction},
}

# Correspondence between monadic effects and effect systems
@article{WadlerT03,
  author    = {Philip Wadler and
               Peter Thiemann},
  title     = {The marriage of effects and monads},
  journal   = {{ACM} Trans. Comput. Log.},
  volume    = {4},
  number    = {1},
  pages     = {1--32},
  year      = {2003}
}

# Undelimited control is insufficient to express mutable state
@techreport{FriedmanS00,
  author = {Daniel P. Friedman and Amr Sabry},
  title = {Recursion is a Computational Effect},
  institution = {Computer Science Department, Indiana University},
  address   = {Bloomington, Indiana 47405, USA},
  type = {Technical report},
  number = {546},
  year = {200},
}

# Fortran
@inproceedings{BackusBBGHHNSSS57,
  author    = {John W. Backus and
               Robert J. Beeber and
               Sheldon Best and
               Richard Goldberg and
               Lois M. Haibt and
               Harlan L. Herrick and
               Robert A. Nelson and
               David Sayre and
               Peter B. Sheridan and
               H. Stern and
               Irving Ziller and
               Robert A. Hughes and
               R. Nutt},
  title     = {The {FORTRAN} automatic coding system},
  booktitle = {{IRE-AIEE-ACM} Computer Conference (Western)},
  pages     = {188--198},
  publisher = {{ACM}},
  year      = {1957}
}

# Algol
@article{BackusBGKMPRSVWWW60,
  author    = {John W. Backus and
               Friedrich L. Bauer and
               Julien Green and
               C. Katz and
               John McCarthy and
               Alan J. Perlis and
               Heinz Rutishauser and
               Klaus Samelson and
               Bernard Vauquois and
               Joseph Henry Wegstein and
               Adriaan van Wijngaarden and
               Michael Woodger},
  title     = {Report on the algorithmic language {ALGOL} 60},
  journal   = {Commun. {ACM}},
  volume    = {3},
  number    = {5},
  pages     = {299--314},
  year      = {1960}
}

# Effect systems
@inproceedings{GiffordL86,
  author    = {David K. Gifford and
               John M. Lucassen},
  title     = {Integrating Functional and Imperative Programming},
  booktitle = {{LISP} and Functional Programming},
  pages     = {28--38},
  publisher = {{ACM}},
  year      = {1986}
}

@phdthesis{Lucassen87,
  author    = {John M. Lucassen},
  title     = {Types and Effects --- Towards the Integration of
               Functional and Imperative Programming},
  school    = {{MIT}, {USA}},
  year      = 1987
}

@inproceedings{LucassenG88,
  author    = {John M. Lucassen and
               David K. Gifford},
  title     = {Polymorphic Effect Systems},
  booktitle = {{POPL}},
  pages     = {47--57},
  publisher = {{ACM} Press},
  year      = {1988}
}

@inproceedings{TalpinJ92,
  author    = {Jean{-}Pierre Talpin and
               Pierre Jouvelot},
  title     = {The Type and Effect Discipline},
  booktitle = {{LICS}},
  pages     = {162--173},
  publisher = {{IEEE} Computer Society},
  year      = {1992}
}

@inproceedings{TofteT94,
  author    = {Mads Tofte and
               Jean{-}Pierre Talpin},
  title     = {Implementation of the Typed Call-by-Value lambda-Calculus using a
               Stack of Regions},
  booktitle = {{POPL}},
  pages     = {188--201},
  publisher = {{ACM} Press},
  year      = {1994}
}


@article{TofteT97,
  author    = {Mads Tofte and
               Jean{-}Pierre Talpin},
  title     = {Region-based Memory Management},
  journal   = {Inf. Comput.},
  volume    = {132},
  number    = {2},
  pages     = {109--176},
  year      = {1997}
}

@inproceedings{NielsonN99,
  author    = {Flemming Nielson and
               Hanne Riis Nielson},
  title     = {Type and Effect Systems},
  booktitle = {Correct System Design},
  series    = {Lecture Notes in Computer Science},
  volume    = {1710},
  pages     = {114--136},
  publisher = {Springer},
  year      = {1999}
}

@inproceedings{BentonB07,
  author    = {Nick Benton and
               Peter Buchlovsky},
  title     = {Semantics of an effect analysis for exceptions},
  booktitle = {{TLDI}},
  pages     = {15--26},
  publisher = {{ACM}},
  year      = {2007}
}

@article{BentonK99,
  author    = {Nick Benton and
               Andrew Kennedy},
  title     = {Monads, Effects and Transformations},
  journal   = {Electron. Notes Theor. Comput. Sci.},
  volume    = {26},
  pages     = {3--20},
  year      = {1999}
}

# Intensional type theory
@book{MartinLof84,
  author    = {Per Martin{-}L{\"{o}}f},
  title     = {Intuitionistic type theory},
  series    = {Studies in proof theory},
  volume    = {1},
  publisher = {Bibliopolis},
  year      = {1984}
}

# Unison language
@misc{Chiusano20,
  author = {Paul Chiusano and others},
  title  = {{Unison} language reference},
  year = 2020,
  note = {Revision \href{https://github.com/unisonweb/unisonweb-org/tree/cb9a1988731451311eeb372f69e9b9f576aa02d3/src/data/docs/language-reference}{cb9a198}}
}

# Effect handlers in C
@inproceedings{Leijen17b,
  author    = {Daan Leijen},
  title     = {Implementing Algebraic Effects in {C} - "Monads for Free in {C}"},
  booktitle = {{APLAS}},
  series    = {Lecture Notes in Computer Science},
  volume    = {10695},
  pages     = {339--363},
  publisher = {Springer},
  year      = {2017}
}

# Žiga Lukšič's PhD thesis on local effect theories
@phdthesis{Ziga20,
  author    = {{\v{Z}}iga Luk{\v{s}}i{\v{c}}},
  title     = {Applications of algebraic effect theories},
  school    = {University of Ljubljana, Slovenia},
  year      = {2020}
}

# Jeremy Yallop's phd thesis
@phdthesis{Yallop10,
  author    = {Jeremy Yallop},
  title     = {Abstraction for web programming},
  school    = {The University of Edinburgh, {UK}},
  year      = {2010}
}

# Functional programming
@article{Hughes89,
  author    = {John Hughes},
  title     = {Why Functional Programming Matters},
  journal   = {Comput. J.},
  volume    = {32},
  number    = {2},
  pages     = {98--107},
  year      = {1989}
}

# Curry-Howard correspondence
@incollection{Howard80,
  author    = {William A. Howard},
  title     = {The Formulae-as-Types Notion of Construction},
  booktitle = {To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism},
  publisher = {Academic Press},
  editor    = {Haskell Curry and Hindley B. and Seldin J. Roger and P. Jonathan},
  year      = 1980
}

# Criteria for modular programming
@article{Parnas72,
  author    = {David Lorge Parnas},
  title     = {On the Criteria To Be Used in Decomposing Systems into Modules},
  journal   = {Commun. {ACM}},
  volume    = {15},
  number    = {12},
  pages     = {1053--1058},
  year      = {1972}
}

# The universal type
@InProceedings{Longley03,
  author    = {John Longley},
  title     = {Universal Types and What They are Good For},
  booktitle = {Domain Theory, Logic and Computation},
  year      = 2003,
  publisher = {Springer Netherlands},
  pages     = {25--63},
  OPTisbn   = {978-94-017-1291-0}
}

# Sixth order function example
@article{Okasaki98,
  author    = {Chris Okasaki},
  title     = {Functional Pearl: Even Higher-Order Functions for Parsing},
  journal   = {J. Funct. Program.},
  volume    = {8},
  number    = {2},
  pages     = {195--199},
  year      = {1998}
}

# CLR
@book{CormenLRS09,
  author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
  title = {Introduction to Algorithms, Third Edition},
  year = {2009},
  publisher = {{MIT} Press},
  edition = {3rd},
}

# Undelimited continuations survey
@unpublished{FelleisenS99,
  author = {Matthias Felleisen and Amr Sabry},
  title  = {Continuations in Programming Practice: Introduction and Survey},
  year   = 1999,
  month  = aug,
  note   = {Draft}
}

# TypeScript
@inproceedings{BiermanAT14,
  author    = {Gavin M. Bierman and
               Mart{\'{\i}}n Abadi and
               Mads Torgersen},
  title     = {Understanding TypeScript},
  booktitle = {{ECOOP}},
  series    = {{LNCS}},
  volume    = {8586},
  pages     = {257--281},
  publisher = {Springer},
  year      = {2014}
}

# TT lifting
@inproceedings{LindleyS05,
  author    = {Sam Lindley and
               Ian Stark},
  title     = {Reducibility and TT-Lifting for Computation Types},
  booktitle = {{TLCA}},
  series    = {Lecture Notes in Computer Science},
  volume    = {3461},
  pages     = {262--277},
  publisher = {Springer},
  year      = {2005}
}

# Three state equations
@inproceedings{Mellies14,
  author    = {Paul{-}Andr{\'{e}} Melli{\`{e}}s},
  title     = {Local States in String Diagrams},
  booktitle = {{RTA-TLCA}},
  series    = {{LNCS}},
  volume    = {8560},
  pages     = {334--348},
  publisher = {Springer},
  year      = {2014}
}

# Asymptotic notation
@book{Bachmann94,
  author    = {Paul Bachmann},
  title     = {Die Analytische Zahlentheorie},
  publisher = {Teubner},
  pages     = {1--494},
  year      = 1894
}

# Game semantics
@inbook{Hyland97,
   author   = {Martin Hyland},
   title    = {Game Semantics},
   booktitle = {Semantics and Logics of Computation},
   publisher = {Cambridge University Press},
   editor   = {Andrew M. Pitts and Peter Dybjer},
   pages    = {131--184},
   year     = 1997
}

# Milner's context lemma
@article{Milner77,
  author    = {Robin Milner},
  title     = {Fully Abstract Models of Typed $\lambda$-Calculi},
  journal   = {Theor. Comput. Sci.},
  volume    = {4},
  number    = {1},
  pages     = {1--22},
  year      = {1977}
}

# Dagstuhl seminar report
@article{AhmanALR21,
  author    = {Danel Ahman and
               Amal Ahmed and
               Sam Lindley and
               Andreas Rossberg},
  title     = {{Scalable} {Handling} of {Effects} ({Dagstuhl} {Seminar} 21292)},
  journal   = {Dagstuhl Reports},
  volume    = {11},
  number    = {6},
  pages     = {54--81},
  year      = {2021}
}


