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.

1363 lines
37 KiB

8 years ago
# Daniel's master's thesis (initial implementation of handlers in Links)
@MastersThesis{Hillerstrom15,
author = {Daniel Hillerström},
title = {Handlers for Algebraic Effects in {Links}},
school = {School of Informatics, The University of Edinburgh},
8 years ago
address = {Scotland},
month = aug,
year = 2015
}
# Daniel's master's thesis (abstract message-passing concurrency model, compilation of handlers)
@MastersThesis{Hillerstrom16,
author = {Daniel Hillerström},
title = {Compilation of Effect Handlers and their Applications in Concurrency},
school = {School of Informatics, The University of Edinburgh},
8 years ago
address = {Scotland},
optmonth = aug,
year = 2016,
}
# OCaml handlers
@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}},
series = {Lecture Notes in Computer Science},
volume = {10788},
pages = {98--117},
publisher = {Springer},
year = {2017}
}
# Efficient one-shot continuations
@inproceedings{BruggemanWD96,
author = {Carl Bruggeman and
Oscar Waddell and
R. Kent Dybvig},
editor = {Charles N. Fischer},
title = {Representing Control in the Presence of One-Shot Continuations},
booktitle = {Proceedings of the {ACM} SIGPLAN'96 Conference on Programming Language
Design and Implementation (PLDI), Philadephia, Pennsylvania, May 21-24,
1996},
pages = {99--107},
publisher = {{ACM}},
year = {1996},
OPTurl = {http://doi.acm.org/10.1145/231379.231395},
OPTdoi = {10.1145/231379.231395},
timestamp = {Mon, 21 May 2012 16:19:53 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/pldi/BruggemanWD96},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
# Programming with continuations
@InProceedings{FriedmanHK84,
author = {Daniel P. Friedman
and Christopher T Haynes
and Eugene Kohlbecker},
editor = {Peter Pepper},
title = {Programming with Continuations},
booktitle = {Program Transformation and Programming Environments},
year = 1984,
publisher = {Springer Berlin Heidelberg},
address = {Berlin, Heidelberg},
pages = {263--274},
isbn = {978-3-642-46490-4}
}
8 years ago
# Links compiler + Multicore OCaml
@Misc{HillerstromLS16,
author = {Daniel Hillerström and Sam Lindley and {KC} Sivaramakrishnan},
8 years ago
title = {Compiling {Links} Effect Handlers to the {OCaml} Backend},
year = {2016},
optmonth = sep,
howpublished = {{ML Workshop}}
}
# Core references on handlers
@phdthesis{Pretnar10,
author = {Matija Pretnar},
title = {Logic and handling of algebraic effects},
school = {The University of Edinburgh, {UK}},
year = {2010}
}
@inproceedings{PlotkinP09,
author = {Gordon D. Plotkin and
Matija Pretnar},
title = {Handlers of Algebraic Effects},
booktitle = {{ESOP}},
series = {Lecture Notes in Computer Science},
volume = {5502},
pages = {80--94},
publisher = {Springer},
year = {2009}
}
8 years ago
@article{PlotkinP13,
author = {Gordon D. Plotkin and
Matija Pretnar},
title = {Handling Algebraic Effects},
journal = {Logical Methods in Computer Science},
volume = {9},
number = {4},
year = {2013},
OPTurl = {http://dx.doi.org/10.2168/LMCS-9(4:23)2013},
OPTdoi = {10.2168/LMCS-9(4:23)2013},
timestamp = {Thu, 31 Aug 4448958 16:06:56 +},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/PlotkinP13},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@article{PlotkinP03,
author = {Gordon D. Plotkin and
John Power},
title = {Algebraic Operations and Generic Effects},
journal = {Applied Categorical Structures},
volume = {11},
number = {1},
pages = {69--94},
year = {2003},
OPTurl = {http://dx.doi.org/10.1023/A:1023064908962},
OPTdoi = {10.1023/A:1023064908962},
timestamp = {Mon, 29 May 2006 12:06:44 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/acs/PlotkinP03},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@inproceedings{PlotkinP01,
author = {Gordon D. Plotkin and
John Power},
title = {Adequacy for Algebraic Effects},
booktitle = {FoSSaCS},
OPTseries = {Lecture Notes in Computer Science},
series = {LNCS},
volume = {2030},
pages = {1--24},
publisher = {Springer},
year = {2001}
}
# Other algebraic effects and handlers
@InProceedings{Lindley14,
author = {Sam Lindley},
editor = {Jos{\'{e}} Pedro Magalh{\~{a}}es and
Tiark Rompf},
title = {Algebraic effects and effect handlers for idioms and arrows},
booktitle = {Proceedings of the 10th {ACM} {SIGPLAN} workshop on Generic programming,
{WGP} 2014, Gothenburg, Sweden, August 31, 2014},
pages = {47--58},
publisher = {{ACM}},
year = {2014},
OPTurl = {http://doi.acm.org/10.1145/2633628.2633636},
OPTdoi = {10.1145/2633628.2633636},
timestamp = {Thu, 25 Jun 2015 13:50:37 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/icfp/Lindley14},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@article{Pretnar15,
author = {Matija Pretnar},
title = {An Introduction to Algebraic Effects and Handlers},
journal = {Electr. Notes Theor. Comput. Sci.},
volume = {319},
pages = {19--35},
year = {2015},
note = {Invited tutorial paper}
}
@article{KammarP17,
author = {Ohad Kammar and
Matija Pretnar},
title = {No value restriction is needed for algebraic effects and handlers},
journal = {J. Funct. Program.},
volume = {27},
pages = {e7},
year = {2017}
8 years ago
}
@article{ForsterKLP17,
author = {Yannick Forster and
Ohad Kammar and
Sam Lindley and
Matija Pretnar},
title = {On the Expressive Power of User-Defined Effects: Effect Handlers,
Monadic Reflection, Delimited Control},
journal = {{PACMPL}},
8 years ago
volume = {1},
number = {ICFP},
articleno = {13},
numpages = {29},
month = sep,
year = {2017}
}
@article{ForsterKLP19,
author = {Yannick Forster and
Ohad Kammar and
Sam Lindley and
Matija Pretnar},
title = {On the expressive power of user-defined effects: Effect handlers,
monadic reflection, delimited control},
journal = {J. Funct. Program.},
volume = {29},
pages = {e15},
year = {2019}
}
@article{HillerstromLL20,
author = {Daniel Hillerstr{\"{o}}m and
Sam Lindley and
John Longley},
title = {Effects for Efficiency: Asymptotic Speedup with First-Class Control},
journal = {Proc. {ACM} Program. Lang.},
volume = {4},
number = {{ICFP}},
pages = {100:1--100:29},
year = {2020}
}
@phdthesis{McLaughlin20,
author = {Craig McLaughlin},
title = {Relational Reasoning for Effects and Handlers},
school = {The University of Edinburgh, {UK}},
year = {2020}
}
@phdthesis{Ahman17,
author = {Danel Ahman},
title = {Fibred Computational Effects},
school = {The University of Edinburgh, {UK}},
year = {2017}
}
@phdthesis{Fowler19,
author = {Simon Fowler},
title = {Typed concurrent functional programming with channels, actors and sessions},
school = {The University of Edinburgh, {UK}},
year = {2019}
}
@phdthesis{Kammar14,
author = {Ohad Kammar},
title = {Algebraic theory of type-and-effect systems},
school = {The University of Edinburgh, {UK}},
year = {2014}
}
@inproceedings{KammarP12,
author = {Ohad Kammar and
Gordon D. Plotkin},
title = {Algebraic foundations for effect-dependent optimisations},
booktitle = {{POPL}},
pages = {349--360},
publisher = {{ACM}},
year = {2012}
}
@article{LuksicP20,
author = {Ziga Luksic and
Matija Pretnar},
title = {Local algebraic effect theories},
journal = {J. Funct. Program.},
volume = {30},
pages = {e13},
year = {2020}
}
@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{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}
}
# Asynchronous effects
@article{AhmanP20,
author = {Danel Ahman and
Matija Pretnar},
title = {Asynchronous effects},
journal = {CoRR},
volume = {abs/2003.02110},
year = {2020}
}
5 years ago
@MastersThesis{Poulson20,
author = {Leo Poulson},
title = {Asynchronous Effect Handling},
school = {School of Informatics, The University of Edinburgh},
address = {Scotland},
year = 2020,
}
# Effekt
@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}
}
@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}
}
8 years ago
# Eff
@article{BauerP15,
author = {Andrej Bauer and
Matija Pretnar},
title = {Programming with algebraic effects and handlers},
journal = {J. Log. Algebr. Meth. Program.},
volume = {84},
number = {1},
pages = {108--123},
year = {2015}
}
@article{BauerP13,
author = {Andrej Bauer and
Matija Pretnar},
title = {An Effect System for Algebraic Effects and Handlers},
journal = {Log. Methods Comput. Sci.},
volume = {10},
number = {4},
year = {2014}
}
@article{Pretnar13,
author = {Matija Pretnar},
title = {Inferring Algebraic Effects},
journal = {Log. Methods Comput. Sci.},
volume = {10},
number = {3},
year = {2014}
}
# Co-handlers
@inproceedings{AhmanB20,
author = {Danel Ahman and
Andrej Bauer},
title = {Runners in Action},
booktitle = {{ESOP}},
series = {Lecture Notes in Computer Science},
volume = {12075},
pages = {29--55},
publisher = {Springer},
year = {2020}
}
8 years ago
# Idris
@inproceedings{Brady13,
author = {Edwin Brady},
title = {Programming and reasoning with algebraic effects and dependent types},
booktitle = {{ICFP}},
pages = {133--144},
publisher = {{ACM}},
year = {2013}
}
@inproceedings{Brady14,
author = {Edwin Brady},
title = {Resource-Dependent Algebraic Effects},
booktitle = {Trends in Functional Programming},
OPTseries = {Lecture Notes in Computer Science},
series = {LNCS},
volume = {8843},
pages = {18--33},
publisher = {Springer},
year = {2014}
}
# Leo's HOPE talk
@misc{White16,
author = {Leo White},
title = {Effective programming: bringing algebraic effects and handlers to {OCaml}},
year = 2016,
optmonth = sep,
howpublished = {Keynote at {HOPE}, Nara, Japan}
}
# Implementation of effect handlers in Links
@inproceedings{HillerstromL16,
author = {Daniel Hillerstr{\"{o}}m and
Sam Lindley},
title = {Liberating effects with rows and handlers},
booktitle = {TyDe@ICFP},
pages = {15--27},
publisher = {{ACM}},
year = {2016}
}
# Frank
@inproceedings{LindleyMM17,
author = {Sam Lindley and
Conor McBride and
Craig McLaughlin},
title = {Do be do be do},
booktitle = {{POPL}},
pages = {500--514},
publisher = {{ACM}},
year = {2017}
}
# 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}
}
# 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},
editor = {Wouter Swierstra},
title = {Effect handlers in scope},
booktitle = {Proceedings of the 2014 {ACM} {SIGPLAN} symposium on Haskell, Gothenburg,
Sweden, September 4-5, 2014},
pages = {1--12},
publisher = {{ACM}},
year = {2014},
url = {http://doi.acm.org/10.1145/2633357.2633358},
doi = {10.1145/2633357.2633358},
timestamp = {Mon, 08 Sep 2014 16:12:17 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/haskell/WuSH14},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@inproceedings{WuS15,
author = {Nicolas Wu and
Tom Schrijvers},
title = {Fusion for Free - Efficient Algebraic Effect Handlers},
booktitle = {{MPC}},
series = {Lecture Notes in Computer Science},
volume = {9129},
pages = {302--322},
publisher = {Springer},
year = {2015}
}
# Prolog
@article{SchrijversDDW13,
author = {Tom Schrijvers and
Bart Demoen and
Benoit Desouter and
Jan Wielemaker},
title = {Delimited continuations for {Prolog}},
journal = {{TPLP}},
volume = {13},
number = {4-5},
pages = {533--546},
year = {2013}
}
@article{SalehS16,
author = {Amr Hany Saleh and
Tom Schrijvers},
title = {Efficient Algebraic Effect Handlers for {Prolog}},
journal = {{TPLP}},
year = {2016},
note = {Proceedings of {ICLP}}
}
# References on Links
@inproceedings{CooperLWY06,
author = {Ezra Cooper and
Sam Lindley and
Philip Wadler and
Jeremy Yallop},
title = {Links: Web Programming Without Tiers},
booktitle = {{FMCO}},
OPTseries = {Lecture Notes in Computer Science},
series = {LNCS},
volume = {4709},
pages = {266--296},
publisher = {Springer},
year = {2006}
}
@inproceedings{LindleyC12,
author = {Sam Lindley and
James Cheney},
title = {Row-based effect types for database integration},
booktitle = {{TLDI}},
pages = {91--102},
publisher = {{ACM}},
year = {2012}
}
# Monads
@article{Atkey09,
author = {Robert Atkey},
title = {Parameterised notions of computation},
journal = {Journal of Functional Programming},
volume = {19},
number = {3-4},
pages = {335--376},
year = {2009}
}
@inproceedings{Moggi89,
author = {Eugenio Moggi},
title = {Computational Lambda-Calculus and Monads},
booktitle = {{LICS}},
pages = {14--23},
publisher = {{IEEE} Computer Society},
year = {1989}
}
@article{Moggi91,
author = {Eugenio Moggi},
title = {Notions of Computation and Monads},
journal = {Inf. Comput.},
volume = {93},
number = {1},
pages = {55--92},
year = {1991}
}
@inproceedings{Wadler92,
author = {Philip Wadler},
title = {The Essence of Functional Programming},
booktitle = {{POPL}},
pages = {1--14},
publisher = {{ACM}},
year = {1992}
}
@inproceedings{Wadler95,
author = {Philip Wadler},
title = {Monads for Functional Programming},
booktitle = {Advanced Functional Programming},
OPTseries = {Lecture Notes in Computer Science},
series = {LNCS},
volume = {925},
pages = {24--52},
publisher = {Springer},
year = {1995}
}
@article{Swierstra08,
author = {Wouter Swierstra},
title = {Data types {\`{a}} la carte},
journal = {Journal of Functional Programming},
volume = {18},
number = {4},
pages = {423--436},
year = {2008}
}
@inproceedings{PauwelsSM19,
author = {Koen Pauwels and
Tom Schrijvers and
Shin{-}Cheng Mu},
title = {Handling Local State with Global State},
booktitle = {{MPC}},
series = {Lecture Notes in Computer Science},
volume = {11825},
pages = {18--44},
publisher = {Springer},
year = {2019}
}
8 years ago
# Hop.js
@inproceedings{SerranoP16,
author = {Manuel Serrano and
Vincent Prunet},
title = {A glimpse of Hopjs},
booktitle = {{ICFP}},
pages = {180--192},
publisher = {{ACM}},
year = {2016}
}
# A-normal form
@inproceedings{FlanaganSDF93,
author = {Cormac Flanagan and
Amr Sabry and
Bruce F. Duba and
Matthias Felleisen},
title = {The Essence of Compiling with Continuations},
booktitle = {{PLDI}},
pages = {237--247},
publisher = {{ACM}},
year = {1993}
}
@inproceedings{SabryW96,
author = {Amr Sabry and
Philip Wadler},
editor = {Robert Harper and
Richard L. Wexelblat},
title = {A Reflection on Call-by-Value},
booktitle = {Proceedings of the 1996 {ACM} {SIGPLAN} International Conference on
Functional Programming {(ICFP} '96), Philadelphia, Pennsylvania, May
24-26, 1996.},
pages = {13--24},
publisher = {{ACM}},
year = {1996},
OPTurl = {http://doi.acm.org/10.1145/232627.232631},
OPTdoi = {10.1145/232627.232631},
timestamp = {Tue, 11 Jun 2013 13:54:16 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/icfp/SabryW96},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
# fine-grained call-by-value
@article{LevyPT03,
author = {Paul Blain Levy and
John Power and
Hayo Thielecke},
title = {Modelling environments in call-by-value programming languages},
journal = {Inf. Comput.},
volume = {185},
number = {2},
pages = {182--210},
year = {2003}
}
# CPS
@article{Plotkin75,
author = {Gordon D. Plotkin},
title = {Call-by-Name, Call-by-Value and the lambda-Calculus},
journal = {Theor. Comput. Sci.},
volume = {1},
number = {2},
pages = {125--159},
year = {1975}
}
@techreport{Steele78,
title = {{RABBIT}: A Compiler for {SCHEME}},
author = {Guy Steele},
number = {AITR-474},
institution = {{INRIA}},
year = {1978},
}
8 years ago
@inproceedings{DanvyF90,
author = {Olivier Danvy and
Andrzej Filinski},
title = {Abstracting Control},
booktitle = {{LISP} and Functional Programming},
pages = {151--160},
year = {1990}
}
@article{DanvyF92,
author = {Olivier Danvy and
Andrzej Filinski},
title = {Representing Control: {A} Study of the {CPS} Transformation},
journal = {Mathematical Structures in Computer Science},
volume = {2},
number = {4},
pages = {361--391},
year = {1992}
}
@phdthesis{Danvy06,
author = {Olivier Danvy},
school = {Aarhus University},
title = {An Analytical Approach to Programs as Data Objects},
type = {{DSc} thesis},
year = 2006,
address = {Aarhus, Denmark}
}
8 years ago
@book{Appel92,
author = {Andrew W. Appel},
title = {Compiling with Continuations},
publisher = {Cambridge University Press},
year = {1992}
}
@article{DanvyN03,
author = {Olivier Danvy and
Lasse R. Nielsen},
title = {A first-order one-pass {CPS} transformation},
journal = {Theor. Comput. Sci.},
volume = {308},
number = {1-3},
pages = {239--257},
year = {2003}
}
@inproceedings{Kennedy07,
author = {Andrew Kennedy},
title = {Compiling with continuations, continued},
booktitle = {{ICFP}},
pages = {177--190},
publisher = {{ACM}},
year = {2007}
}
@inproceedings{MaterzokB11,
author = {Marek Materzok and
Dariusz Biernacki},
title = {Subtyping delimited continuations},
booktitle = {{ICFP}},
pages = {81--93},
publisher = {{ACM}},
year = {2011}
}
@inproceedings{MaterzokB12,
author = {Marek Materzok and
Dariusz Biernacki},
title = {A Dynamic Interpretation of the {CPS} Hierarchy},
booktitle = {{APLAS}},
OPTseries = {Lecture Notes in Computer Science},
series = {LNCS},
volume = {7705},
pages = {296--311},
publisher = {Springer},
year = {2012}
}
@Misc{KiselyovS16,
author = {Oleg Kiselyov and {KC} Sivaramakrishnan},
8 years ago
title = {Eff directly in {OCaml}},
year = {2016},
optmonth = sep,
howpublished = {{ML Workshop}}
}
# Delimited Control
@inproceedings{KiselyovSS06,
author = {Oleg Kiselyov and
Chung{-}chieh Shan and
Amr Sabry},
title = {Delimited dynamic binding},
booktitle = {{ICFP}},
pages = {26--37},
publisher = {{ACM}},
year = {2006}
}
# fancy row typing systems that support shapes
8 years ago
@inproceedings{BerthomieuS95,
author = {Bernard Berthomieu and Camille le Moniès de Sagazan},
title = {A Calculus of Tagged Types, with applications to process languages},
booktitle = {Workshop on Types for Program Analysis},
year = 1995,
}
@techreport{Remy93,
title = {{Syntactic theories and the algebra of record terms}},
author = {Didier Remy},
number = {RR-1869},
institution = {{INRIA}},
year = {1993},
}
# Zipper data structure.
8 years ago
@article{Huet97,
author = {G{\'{e}}rard P. Huet},
title = {The Zipper},
journal = {J. Funct. Program.},
volume = {7},
number = {5},
pages = {549--554},
year = {1997},
OPTurl = {http://journals.cambridge.org/action/displayAbstract?aid=44121},
timestamp = {Fri, 10 Jun 2011 14:42:10 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/jfp/Huet97},
bibsource = {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
8 years ago
@inproceedings{HillerstromLAS17,
author = {Daniel Hillerstr{\"{o}}m and
Sam Lindley and
Robert Atkey and
{KC} Sivaramakrishnan},
8 years ago
title = {Continuation Passing Style for Effect Handlers},
booktitle = {{FSCD}},
series = {LIPIcs},
volume = {84},
pages = {18:1--18:19},
OPTpublisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik},
year = {2017}
}
@inproceedings{HillerstromL18,
author = {Daniel Hillerstr{\"{o}}m and
Sam Lindley},
title = {Shallow Effect Handlers},
booktitle = {{APLAS}},
series = {Lecture Notes in Computer Science},
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}
}
# CEK
8 years ago
@InProceedings{FelleisenF86,
title={Control Operators, the {SECD}-machine, and the $\lambda$-Calculus},
author={Felleisen, Matthias and Friedman, Daniel P.},
year=1987,
booktitle = {Formal Description of Programming Concepts III},
OPTbooktitle = {The Proceedings of the Conference on Formal Description of Programming Concepts III, Ebberup, Denmark},
pages = {193--217},
OPTpublisher={North Holland}
}
@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 = {{PACMPL}},
volume = {2},
number = {{POPL}},
pages = {8:1--8:30},
year = {2018}
}
# explicit effect subtyping
8 years ago
@inproceedings{SalehKPS18,
author = {Amr Hany Saleh and
Georgios Karachalias and
Matija Pretnar and
Tom Schrijvers},
title = {Explicit Effect Subtyping},
booktitle = {{ESOP}},
series = {Lecture Notes in Computer Science},
volume = {10801},
pages = {327--354},
publisher = {Springer},
year = {2018}
}
@article{KarachaliasPSVS20,
author = {Georgios Karachalias and
Matija Pretnar and
Amr Hany Saleh and
Stien Vanderhallen and
Tom Schrijvers},
title = {Explicit effect subtyping},
journal = {J. Funct. Program.},
volume = {30},
pages = {e15},
year = {2020}
}
8 years ago
# Pyro
@Misc{Goodman17,
author = {Noah Goodman},
title = {Uber {AI} {Labs} Open Sources {Pyro}, a Deep Probabilistic Programming Language},
month = nov,
year = 2017,
url = {https://eng.uber.com/pyro/}
}
# Meta programming
@article{Yallop17,
author = {Jeremy Yallop},
title = {Staged generic programming},
journal = {{PACMPL}},
volume = {1},
number = {{ICFP}},
pages = {29:1--29:29},
year = {2017}
}
6 years ago
# SML
@book{MilnerTHM97,
author = {Robin Milner and Mads Tofte and Robert Harper and David Macqueen},
title = {The Definition of {Standard} {ML}},
year = {1997},
isbn = {0262631814},
publisher = {MIT Press},
address = {Cambridge, MA, USA},
}
# OCaml
@book{LeroyDFGRV20,
author = {Xavier Leroy and Damien Doligez and Alain Frisch and Jacques Garrigue and Didier Rémy and Jérôme Vouillon},
title = {The {OCaml} System Release 4.11: Documentation and user's manual},
year = 2020,
month = aug,
publisher = {Institut National de Recherche en Informatique et en Automatique}
}
# Lisp
@article{McCarthy60,
author = {John McCarthy},
title = {Recursive Functions of Symbolic Expressions and Their Computation
by Machine, Part {I}},
journal = {Commun. {ACM}},
volume = {3},
number = {4},
pages = {184--195},
year = {1960}
}
# Elisp
@book{LewisLSG20,
author = {Bil Lewis and Dan {LaLiberte} and Richard Stallman and {the GNU Manual Group} and {et al.}},
title = {{GNU} {Emacs} {Lisp} Reference Manual},
year = 2020,
note = {For {Emacs} version 27.1},
publisher = {Free Software Foundation},
address = {Boston, MA, USA},
isbn = {1882114744}
}
5 years ago
# Scheme
@techreport{SussmanS75,
author = {Gerald Jay Sussman and Guy Lewis Steele Jr.},
institution = {{MIT}},
month = {December},
number = {AI Memo No. 349},
title = {Scheme: An Interpreter for Extended Lambda Calculus},
OPTuri = {ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-349.pdf},
year = 1975
}
@book{SperberDFSFM10,
author = {Michael Sperber and
R. Kent Dybvig and
Matthew Flatt and
Anton van Straaten and
Robert Bruce Findler and
Jacob Matthews},
title = {Revised6 Report on the Algorithmic Language Scheme},
publisher = {Cambridge University Press},
year = {2010}
}
5 years ago
# Haskell
@misc{JonesABBBFHHHHJJLMPRRW99,
author = {Simon Peyton Jones
and Lennart Augustsson
and Dave Barton
and Brian Boutel
and Warren Burton
and Joseph Fasel
and Kevin Hammond
and Ralf Hinze
and Paul Hudak
and John Hughes
and Thomas Johnsson
and Mark Jones
and John Launchbury
and Erik Meijer
and John Peterson
and Alastair Reid
and Colin Runciman
and Philip Wadler},
title = {Haskell 98: A non-strict, purely functional language},
OPTurl = {https://www.haskell.org/definition/},
year = {1999}
}
@book{Haskell98,
editor = {Jones, Simon Peyton},
month = sep,
pages = 277,
publisher = {http://haskell.org/},
title = {{Haskell} 98 Language and Libraries: The Revised Report},
type = {Language Definition},
OPTurl = {http://haskell.org/definition/haskell98-report.pdf},
year = 2002
}
@book{Haskell10,
editor = {Simon Marlow},
title = {Haskell 2010 Language Report},
year = 2010
}
# Structural Operational Semantics
@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},
timestamp = {Mon, 21 Feb 2005 12:50:35 +0100},
biburl = {https://dblp.org/rec/bib/journals/jlp/Plotkin04a},
bibsource = {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}
}
# 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}
}
# Control operators
@article{Landin65,
author = {Peter J. Landin},
title = {Correspondence between {ALGOL} 60 and Church's Lambda-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 Church's Lambda-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}
}
# System F
@phdthesis{Girard72,
author = {J. Y. 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},
series = {Lecture Notes in Computer Science},
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 Jim Meyering
and Ross Paterson
and François Pinard
and Karl Berry
and Brian Youmans
and Richard Stallman},
title = {{GNU} {Coreutils}},
note = {For version 8.32},
month = feb,
year = 2020,
publisher = {Free Software Foundation},
address = {Boston, MA, USA}
}
# Expressiveness
@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},
series = {Lecture Notes in Computer Science},
volume = {5028},
pages = {389--402},
publisher = {Springer},
year = {2008}
}
@misc{LongleyW08,
author = {John Longley and Nicholas Wolverson},
title = {Eriskay: a programming language based on game semantics},
month = apr,
year = 2008,
howpublished = {Presented at {GaLoP III}}
}
# Value restriction
@article{Wright95,
author = {Andrew K. Wright},
title = {Simple Imperative Polymorphism},
journal = {{LISP} Symb. Comput.},
volume = {8},
number = {4},
pages = {343--355},
year = {1995}
5 years ago
}
# Shakespeare's Hamlet
@misc{Shakespeare6416,
author = {William Shakespeare},
title = {The {Tragedy} of {Hamlet}, {Prince} of {Denmark}},
year = {1564-1616}
}
# Introductory PL books
@book{Pierce02,
author = {Benjamin C. Pierce},
title = {Types and programming languages},
publisher = {{MIT} Press},
year = {2002}
}
@book{Harper16,
author = {Robert Harper},
title = {Practical Foundations for Programming Languages (2nd. Ed.)},
publisher = {Cambridge University Press},
year = {2016}
}
# Andrej's tutorial
@article{Bauer18,
author = {Andrej Bauer},
title = {What is algebraic about algebraic effects and handlers?},
journal = {CoRR},
volume = {abs/1807.05923},
year = {2018}
}