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.
3566 lines
95 KiB
3566 lines
95 KiB
# 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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
@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}
|
|
}
|
|
|
|
@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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
@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}
|
|
}
|
|
|
|
# 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}
|
|
}
|