My PhD dissertation at the University of Edinburgh, Scotland https://www.dhil.net/research/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3190 lines
85 KiB

8 years ago
# Daniel's master's 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}},
8 years ago
month = aug,
year = 2015
}
# Daniel's master's 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}},
8 years ago
optmonth = aug,
year = 2016,
type = {{MSc(R)} thesis}
8 years ago
}
# 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}
}
8 years ago
@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},
8 years ago
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}
}
8 years ago
@inproceedings{BruggemanWD96,
author = {Carl Bruggeman and
Oscar Waddell and
R. Kent Dybvig},
title = {Representing Control in the Presence of One-Shot Continuations},
booktitle = {{PLDI}},
8 years ago
pages = {99--107},
publisher = {{ACM}},
year = {1996}
8 years ago
}
@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}
}
8 years ago
# Links compiler + Multicore OCaml
@Misc{HillerstromLS16,
author = {Daniel Hillerström and Sam Lindley and {KC} Sivaramakrishnan},
8 years ago
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}
}
8 years ago
@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}
8 years ago
}
@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}
}
# Other algebraic effects and handlers
@inproceedings{Lindley14,
8 years ago
author = {Sam Lindley},
title = {Algebraic effects and effect handlers for idioms and arrows},
booktitle = {WGP@ICFP},
8 years ago
pages = {47--58},
publisher = {{ACM}},
year = {2014}
8 years ago
}
@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}
8 years ago
}
@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}},
8 years ago
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}
}
@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}
}
5 years ago
@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 = {Ziga Luksic 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
}
5 years ago
@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}
}
5 years ago
@MastersThesis{Poulson20,
author = {Leo Poulson},
title = {Asynchronous Effect Handling},
school = {School of Informatics, The University of Edinburgh},
address = {Scotland, {UK}},
5 years ago
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}
}
8 years ago
# 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}
}
8 years ago
# 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,
}
8 years ago
# 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}
}
@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}
}
# 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}
}
8 years ago
# 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},
8 years ago
pages = {1--12},
publisher = {{ACM}},
year = {2014}
8 years ago
}
@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},
8 years ago
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}
}
# 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}
}
5 years ago
@inproceedings{JonesW93,
author = {Simon L. Peyton Jones and
Philip Wadler},
title = {Imperative Functional Programming},
booktitle = {{POPL}},
pages = {71--84},
publisher = {{ACM} Press},
year = {1993}
}
8 years ago
@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{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{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}
}
8 years ago
# 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}
}
8 years ago
@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}
}
8 years ago
@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}
}
5 years ago
@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}
}
8 years ago
@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},
8 years ago
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}
}
# fancy row typing systems that support shapes
8 years ago
@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.
8 years ago
@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},
5 years ago
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}
8 years ago
}
@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
8 years ago
@inproceedings{HillerstromLAS17,
author = {Daniel Hillerstr{\"{o}}m and
Sam Lindley and
Robert Atkey and
{KC} Sivaramakrishnan},
8 years ago
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},
}
5 years ago
# CEK & C
8 years ago
@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}
}
5 years ago
@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
8 years ago
@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},
8 years ago
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}
}
8 years ago
# 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}
}
6 years ago
# 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}
}
5 years ago
# Scheme
@techreport{SussmanS75,
author = {Gerald J. Sussman and Guy L. Steele},
5 years ago
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}
}
5 years ago
# 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
5 years ago
@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},
5 years ago
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
@inproceedings{Filinski94,
author = {Andrzej Filinski},
title = {Representing Monads},
booktitle = {{POPL}},
pages = {446--457},
publisher = {{ACM} Press},
year = {1994}
}
# 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)}
}
5 years ago
@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}
}
# 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}
}
5 years ago
# 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}
}
# 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},
5 years ago
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}
}
5 years ago
@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}
5 years ago
}
# 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}
5 years ago
}
# 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
5 years ago
}
5 years ago
@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}
}
5 years ago
# 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}
}
5 years ago
# 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}},
5 years ago
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}},
5 years ago
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},
5 years ago
year = 2014,
month = jan
5 years ago
}
# 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}
5 years ago
}
# 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.}
}
5 years ago
@inproceedings{Danvy04,
author = {Olivier Danvy},
title = {A Rational Deconstruction of Landin's {SECD} Machine},
booktitle = {{IFL}},
series = {{LNCS}},
5 years ago
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}},
5 years ago
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}
}
5 years ago
# 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},
5 years ago
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}
}
5 years ago
# 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}
5 years ago
}
@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}
}
5 years ago
# 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}
5 years ago
}
# 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}},
5 years ago
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}
5 years ago
}
# 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}},
5 years ago
volume = {523},
pages = {124--144},
publisher = {Springer},
year = {1991}
5 years ago
}
# Mutumorphisms
@article{Fokkinga90,
author = {Maarten M. Fokkinga},
title = {Tupling and mutumorphisms},
journal = {The Squiggolist},
volume = {1},
number = {4},
pages = {81--82},
year = {1990}
}
5 years ago
# 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}
}
5 years ago
# 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}
5 years ago
}
# 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}
5 years ago
}
# Exact real integration
@inproceedings{Simpson98,
author = {Alex K. Simpson},
title = {Lazy Functional Algorithms for Exact Real Functionals},
booktitle = {{MFCS}},
series = {Lecture Notes in Computer Science},
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/}
5 years ago
}
# 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}
5 years ago
}
# 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}},
series = {Lecture Notes in Computer Science},
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}}
5 years ago
}
# 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},
5 years ago
}