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.
1043 lines
28 KiB
1043 lines
28 KiB
|
|
|
|
# Daniel's master's thesis (initial implementation of handlers in Links)
|
|
@MastersThesis{Hillerstrom15,
|
|
author = {Daniel Hillerström},
|
|
title = {Handlers for Algebraic Effects in {Links}},
|
|
school = {School of Informatics, the University of Edinburgh},
|
|
address = {Scotland},
|
|
month = aug,
|
|
year = 2015
|
|
}
|
|
|
|
# Daniel's master's thesis (abstract message-passing concurrency model, compilation of handlers)
|
|
@MastersThesis{Hillerstrom16,
|
|
author = {Daniel Hillerström},
|
|
title = {Compilation of Effect Handlers and their Applications in Concurrency},
|
|
school = {School of Informatics, the University of Edinburgh},
|
|
address = {Scotland},
|
|
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}
|
|
}
|
|
|
|
# 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
|
|
@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 = {Journal of Functional Programming},
|
|
year = 2017,
|
|
OPTdoi = {https://doi.org/10.1017/S0956796816000320},
|
|
volume = 27
|
|
}
|
|
|
|
@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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# WebAssembly
|
|
@misc{HaasRSTGWBH17,
|
|
author = {Andreas Haas and Andreas Rossberg and Ben L. Titzer and Dan Gohman and Luke Wagner and JF Bastien and Michael Holman},
|
|
title = {Bringing the {Web} up to Speed with {WebAssembly}},
|
|
year = 2017,
|
|
note = {Draft},
|
|
howpublished = {\url{https://people.mpi-sws.org/~rossberg/papers/Haas, Rossberg, Schuff, Titzer, Gohman, Wagner, Bastien, Holman - Bringing the Web up to Speed with WebAssembly [Draft].pdf}}
|
|
}
|
|
|
|
# ECMAScript
|
|
@misc{EMCA15,
|
|
author = {{Ecma International}},
|
|
title = {{ECMAScript} 2015 Language Specification},
|
|
year = 2015,
|
|
url = {http://www.ecma-international.org/ecma-262/6.0/index.html}
|
|
}
|
|
|
|
@misc{EMCA17,
|
|
author = {{Emca International}},
|
|
title = {{ECMAScript} 2017 Language Specification},
|
|
year = 2017,
|
|
url = {https://tc39.github.io/ecma262/}
|
|
}
|
|
|
|
# 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},
|
|
}
|
|
|
|
@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}
|
|
}
|
|
|
|
@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},
|
|
title = {Eff directly in {OCaml}},
|
|
year = {2016},
|
|
optmonth = sep,
|
|
howpublished = {{ML Workshop}}
|
|
}
|
|
|
|
% 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},
|
|
}
|
|
|
|
|
|
|
|
@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
|
|
@inproceedings{HillerstromLAS17,
|
|
author = {Daniel Hillerstr{\"{o}}m and
|
|
Sam Lindley and
|
|
Robert Atkey and
|
|
K. C. 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}
|
|
}
|
|
|
|
% CEK
|
|
@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
|
|
@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}
|
|
}
|
|
|
|
# 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,
|
|
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}
|
|
}
|
|
|
|
# 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}
|
|
}
|
|
|
|
# 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},
|
|
type = {PhD thesis},
|
|
year = 1972,
|
|
address = {Paris, 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}
|
|
}
|
|
|