
@book{Pierce:2004fk,
	editor = {Benjamin C. Pierce},
	publisher = {MIT Press},
	title = {Advanced Topics in Types and Programming Languages},
	year = {2004}}

@book{Pierce:SF2,
  author = {Benjamin C. Pierce and Arthur Azevedo de Amorim
                  and Chris Casinghino and Marco Gaboardi and
                  Michael Greenberg and C\v{a}t\v{a}lin Hri\c{t}cu
                  and Vilhelm Sj\"{o}berg and Andrew Tolmach
                  and Brent Yorgey},
  title = {Programming Language Foundations},
  series = {Software Foundations},
  volume = {2},
  year = {2018},
  publisher = {Electronic textbook},
  keys = {verification,books},
  url = {https://softwarefoundations.cis.upenn.edu/plf-current/index.html}
}

@Book{Harper2016,
  author = 	 {Robert Harper},
  title = 	 {Practical Foundations for Programming Languages},
  publisher = 	 {Cambridge University Press},
  year = 	 2016,
  edition = 	 {2nd edition}}

@Article{Appel90,
  author = 	 {Appel, Andrew W.},
  title = 	 {A {Runtime} {System}},
  journal = 	 {{LISP} and Symbolic Computation},
  year = 	 1990,
  volume = 	 3,
  number = 	 4,
  pages = 	 {343--380}
}

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

@article{Pierce:2000,
author = {Pierce, Benjamin C. and Turner, David N.},
title = {Local Type Inference},
year = 2000,
publisher = {Association for Computing Machinery},
volume = 22,
number = 1,
journal = {ACM Trans. Program. Lang. Syst.},
pages = {1–44},
keywords = {subtyping, polymorphism, type inference}
}

@inproceedings{Hatcliff:1994ea,
	author = {John Hatcliff and Olivier Danvy},
	booktitle = {Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
	series = {POPL '94},
	pages = {458--471},
	publisher = {Association for Computing Machinery},
	title = {A Generic Account of Continuation-Passing Styles},
	year = {1994}}

@article{Plotkin:1975,
	author = {G. D. Plotkin},
	journal = {Theoretical Computer Science},
	number = {2},
	pages = {125-159},
	rating = {5},
	read = {Yes},
	title = {Call-by-{N}ame, {C}all-by-{V}alue and the {L}ambda-{C}alculus},
	volume = {1},
	year = {1975}}

@inproceedings{Lawall:1993,
author = {Lawall, Julia L. and Danvy, Olivier},
title = {Separating Stages in the Continuation-Passing Style Transformation},
year = 1993,
publisher = {Association for Computing Machinery},
booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
pages = {124–136},
numpages = 13,
series = {POPL '93}
}

@book{Friedman:2001,
  author    = {Daniel P. Friedman and
               Mitchell Wand and
               Christopher T. Haynes},
  title     = {Essentials of {Programming} {Languages}},
  edition   = {2nd edition},
  publisher = {{MIT} Press},
  year      = 2001,
  timestamp = {Fri, 15 Apr 2011 13:37:34 +0200},
  biburl    = {https://dblp.org/rec/books/daglib/0017436.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{Fischer:1972,
author = {Fischer, Michael J.},
title = {Lambda Calculus Schemata},
year = 1972,
publisher = {Association for Computing Machinery},
booktitle = {Proceedings of ACM Conference on Proving Assertions about
                  Programs},
pages = {104–109}
}
  
@InProceedings{Wijngaarden:1966,
  author = 	 {Adriaan {van Wijngaarden}},
  title = 	 {Recursive Definition of Syntax and Semantics},
  booktitle = {Formal Language Description Languages for Computer Programming},
  year = 	 1966,
  editor = 	 {T. B. Steel Jr.},
  pages = 	 {13-24},
  publisher = {North-Holland}}

@book{Aho:2006wb,
	author = {Aho, Alfred V. and Lam, Monica S. and Sethi, Ravi and Ullman, Jeffrey D.},
	date-added = {2021-10-22 09:38:52 -0400},
	date-modified = {2021-10-22 09:38:59 -0400},
	publisher = {Addison-Wesley Longman},
	title = {Compilers: Principles, Techniques, and Tools},
	edition = {2nd edition},
	year = {2006}}

@article{Logothetis:1981,
author = {Logothetis, George and Mishra, Prateek},
title = {Compiling {S}hort-{C}ircuit {B}oolean {E}xpressions in {O}ne {P}ass},
journal = {Software: Practice and Experience},
volume = {11},
number = {11},
pages = {1197-1214},
year = {1981}
}

@article{Clarke:1989,
author = {Clarke, Keith},
title = {One-Pass Code Generation Using Continuations},
year = {1989},
issue_date = {Dec. 1989},
publisher = {John Wiley & Sons},
volume = {19},
number = {12},
journal = {Softw. Pract. Exper.},
pages = {1175–1192},
numpages = {18}
}

@article{Moggi:1991in,
	author = {Eugenio Moggi},
	journal = {Inf. Comput.},
	number = {1},
	pages = {55--92},
	publisher = {Academic Press},
	title = {Notions of {C}omputation and {M}onads},
	volume = {93},
	year = {1991}
}

@article{Flatt:2019tb,
	articleno = {78},
	author = {Flatt, Matthew and Derici, Caner and Dybvig, R. Kent and Keep, Andrew W. and Massaccesi, Gustavo E. and Spall, Sarah and Tobin-Hochstadt, Sam and Zeppieri, Jon},
	journal = {Proc. ACM Program. Lang.},
	number = {ICFP},
	numpages = {15},
	publisher = {Association for Computing Machinery},
	title = {Rebuilding Racket on Chez Scheme (Experience Report)},
	volume = {3},
	year = {2019}}

@incollection{Danvy:2003fk,
	author = {Danvy, Olivier},
	booktitle = {Compiler Construction: Proceedings of the 12th International Conference},
	pages = {77-89},
	series = {Lecture Notes in Computer Science},
	title = {A New One-Pass Transformation into Monadic Normal Form},
	volume = {2622},
	year = {2003}
}

@article{PeytonJones:1998,
	author = {Simon L. {Peyton Jones} and Andr{\'e} L.M. Santos},
	journal = {Science of Computer Programming},
	number = {1},
	pages = {3-47},
	title = {A {T}ransformation-{B}ased {O}ptimiser for {H}askell},
	volume = {32},
	year = {1998}}

@book{Russell2003,
author = {Russell, Stuart J. and Norvig, Peter},
title = {Artificial Intelligence: A Modern Approach},
year = {2003},
publisher = {Pearson Education},
edition = {2}
}


@book{Kernighan:1988nx,
  author =        {Brian W. Kernighan and Dennis M. Ritchie},
  publisher =     {Prentice Hall},
  title =         {The C {P}rogramming {L}anguage},
  year =          {1988}
}

@book{Dybvig:1987aa,
  author =        {Dybvig, R. Kent},
  publisher =     {Prentice-Hall},
  title =         {The Scheme Programming Language},
  year =          {1987}
}

@book{Abelson:1996uq,
  author =        {Abelson, Harold and Sussman, Gerald J.},
  edition =       {2nd edition},
  publisher =     {MIT Press},
  title =         {Structure and Interpretation of Computer Programs},
  year =          {1996}
}

@book{Friedman:1996aa,
  author =        {Friedman, Daniel P. and Felleisen, Matthias},
  publisher =     {MIT Press},
  title =         {The Little Schemer},
  edition =       {4th edition},
  year =          {1996}
}

@book{Felleisen:2001aa,
  author =        {Felleisen, Matthias and Findler, Robert Bruce and
                   Flatt, Matthew and Krishnamurthi, Shriram},
  publisher =     {MIT Press},
  title =         {How to Design Programs: An Introduction to
                   Programming and Computing},
  year =          {2001}
}

@book{Felleisen:2013aa,
  author =        {Felleisen, Matthias and Conrad, M.D. Barski and
                   Horn, David Van and
                   Eight Students of Northeastern University},
  publisher =     {No Starch Press},
  title =         {Realm of Racket: Learn to Program, One Game at a
                   Time!},
  year =          {2013}
}

@techreport{Flatt:2014aa,
  author =        {Matthew Flatt and Robert Bruce Findler and PLT},
  institution =   {PLT},
  number =        {6.0},
  title =         {The Racket Guide},
  year =          {2014}
}

@manual{Intel:2015aa,
  author =        {Intel},
  institution =   {Intel},
  title =         {Intel 64 and IA-32 Architectures Software Developer's
                   Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, 3C
                   and 3D},
  year =          {2015}
}

@book{Bryant:2010aa,
  author =        {Bryant, Randal E. and O'Hallaron, David R.},
  edition =       {2nd edition},
  publisher =     {Addison-Wesley},
  title =         {Computer Systems: A Programmer's Perspective},
  year =          {2010}
}

@manual{Bryant:2005aa,
  author =        {Randal E. Bryant and David R. O'Hallaron},
  organization =  {Carnegie Mellon University},
  title =         {x86-64 Machine-Level Programming},
  year =          {2005}
}

@manual{Matz:2013aa,
  author =        {Michael Matz and Jan Hubicka and Andreas Jaeger and
                   Mark Mitchell},
  title =         {System V Application Binary Interface, AMD64
                   Architecture Processor Supplement},
  publisher =     {Linux Foundation},
  year =          {2013}
}

@misc{Microsoft:2018aa,
  author =        {Microsoft},
  url =  {https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/x64-architecture},
  title =         {x64 Architecture},
  year =          {2018}
}

@misc{Microsoft:2020aa,
  author =        {Microsoft},
  url =  {https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention},
  title =         {x64 {C}alling {C}onvention},
  year =          {2020}
}

@inproceedings{Dybvig:2006aa,
  author =        {Dybvig, R. Kent},
  booktitle =     {Proceedings of the Eleventh ACM SIGPLAN International
                   Conference on Functional Programming},
  pages =         {1--12},
  publisher =     {Association for Computing Machinery},
  series =        {ICFP '06},
  title =         {The Development of {Chez} {Scheme}},
  year =          {2006}
}

@inproceedings{Sarkar:2004fk,
  author =        {Dipanwita Sarkar and Oscar Waddell and
                   R. Kent Dybvig},
  booktitle =     {Proceedings of the Ninth ACM SIGPLAN
                   International Conference on Functional Programming},
  series =        {ICFP '04},
  pages =         {201--212},
  publisher =     {Association for Computing Machinery},
  title =         {A {N}anopass {I}nfrastructure for {C}ompiler {E}ducation},
  year =          {2004}
}

@phdthesis{Keep:2012aa,
  author =        {Andrew W. Keep},
  school =        {Indiana University},
  title =         {A Nanopass Framework for Commercial Compiler
                   Development},
  year =          {2012}
}

@techreport{Dybvig:2010aa,
  author =        {R. Kent Dybvig and Andrew Keep},
  institution =   {Indiana University},
  title =         {P523 Compiler Assignments},
  year =          {2010}
}

@inproceedings{Ghuloum:2006bh,
  author =        {Abdulaziz Ghuloum},
  booktitle =     {Proceedings of the Workshop on Scheme and Functional Programming},
  url =  {http://www.schemeworkshop.org/2006/},
  title =         {An Incremental Approach to Compiler Construction},
  year =          {2006}
}

@article{Backus:1960aa,
  author =        {Backus, J. W. and Bauer, F. L. and Green, J. and
                   Katz, C. and McCarthy, J. and Perlis, A. J. and
                   Rutishauser, H. and Samelson, K. and Vauquois, B. and
                   Wegstein, J. H. and van Wijngaarden, A. and
                   Woodger, M.},
  editor =        {Naur, Peter},
  journal =       {Commun. ACM},
  number =        {5},
  pages =         {299--314},
  publisher =     {Association for Computing Machinery},
  title =         {Report on the Algorithmic Language ALGOL 60},
  volume =        {3},
  year =          {1960}
}

@article{Knuth:1964aa,
  author =        {Knuth, Donald E.},
  journal =       {Commun. ACM},
  number =        {12},
  pages =         {735--736},
  publisher =     {Association for Computing Machinery},
  title =         {Backus Normal Form vs. Backus Naur Form},
  volume =        {7},
  year =          {1964}
}

@article{SPERBER:2009aa,
  author =        {Sperber, Michael and Dybvig, R. Kent and Flatt, Matthew and
                   Van Straaten, Anton and Findler, Robby and
                   Matthews, Jacob},
  journal =       {Journal of Functional Programming},
  pages =         {1--301},
  title =         {Revised$^6$ Report on the Algorithmic Language
                   Scheme},
  volume =        {19},
  year =          {2009}
}

@techreport{plt-tr,
  author =        {Matthew Flatt and PLT},
  institution =   {PLT},
  url =  {https://docs.racket-lang.org/reference/index.html},
  title =         {The {R}acket Reference~6.0},
  year =          {2014}
}

@inproceedings{reynolds72:_def_interp,
  author =        {John C. Reynolds},
  booktitle =     {{ACM} '72: Proceedings of the {ACM} Annual
                   Conference},
  pages =         {717--740},
  publisher =     {Association for Computing Machinery},
  title =         {Definitional Interpreters for Higher-Order
                   Programming Languages},
  year =          {1972}
}

@book{Jones:1993uq,
  author =        {Neil D. Jones and Carsten K. Gomard and
                   Peter Sestoft},
  publisher =     {Prentice-Hall},
  title =         {Partial {Evaluation} and {Automatic} {Program} {Generation}},
  year =          {1993}
}

@techreport{Danvy:1991fk,
  author =        {Olivier Danvy},
  institution =   {Kansas State University},
  number =        {CIS-92-02},
  title =         {Three Steps for the {CPS} Transformation},
  year =          {1991}
}

@inproceedings{Flanagan:1993cg,
  author =        {Cormac Flanagan and Amr Sabry and Bruce F. Duba and
                   Matthias Felleisen},
  booktitle =     {Proceedings of the ACM SIGPLAN Conference on {P}rogramming {L}anguage {D}esign and
                   {I}mplementation},
  pages =         {502--514},
  series =        {PLDI '93},
  title =         {The {Essence} of {Compiling} with {Continuations}},
  year =          {1993}
}

@book{Cooper:2011aa,
  author =        {Keith Cooper and Linda Torczon},
  edition =       {2nd edition},
  publisher =     {Morgan Kaufmann},
  title =         {Engineering a Compiler},
  year =          {2011}
}

@book{Appel:2003fk,
  author =        {Andrew W. Appel and Jens Palsberg},
  publisher =     {Cambridge University Press},
  title =         {Modern Compiler Implementation in Java},
  year =          {2003}
}

@book{Balakrishnan:1996ve,
  author =        {Balakrishnan, V. K.},
  publisher =     {Dover},
  title =         {Introductory Discrete Mathematics},
  year =          {1996}
}

@book{Rosen:2002bh,
  author =        {Rosen, Kenneth H.},
  publisher =     {McGraw-Hill Higher Education},
  title =         {Discrete Mathematics and Its Applications},
  year =          {2002}
}

@article{Brelaz:1979eu,
  author =        {Br\'{e}laz, Daniel},
  journal =       {Commun. ACM},
  number =        {4},
  pages =         {251--256},
  publisher =     {Association for Computing Machinery},
  title =         {New {Methods} to {Color} the {Vertices} of a {Graph}},
  volume =        {22},
  year =          {1979}
}

@article{Horwitz:1966aa,
  author =        {Horwitz, L. P. and Karp, R. M. and Miller, R. E. and
                   Winograd, S.},
  journal =       {J. ACM},
  number =        {1},
  pages =         {43--61},
  publisher =     {Association for Computing Machinery},
  title =         {Index Register Allocation},
  volume =        {13},
  year =          {1966}
}



@inbook{Backus:1978aa,
  author =        {Backus, John},
  booktitle =     {History of Programming Languages},
  pages =         {25--74},
  publisher =     {Association for Computing Machinery},
  title =         {The History of Fortran I, II, and III},
  year =          {1978}
}

@article{Chaitin:1981vl,
  author =        {Gregory J. Chaitin and Marc A. Auslander and
                   Ashok K. Chandra and John Cocke and Martin E. Hopkins and
                   Peter W. Markstein},
  journal =       {Computer Languages},
  pages =         {47-57},
  title =         {Register {Allocation} via {Coloring}},
  volume =        {6},
  year =          {1981}
}

@article{Kempe:1879aa,
  author =        {A. B. Kempe},
  journal =       {American Journal of Mathematics},
  number =        {3},
  pages =         {193--200},
  publisher =     {Johns Hopkins University Press},
  title =         {On the Geographical Problem of the Four Colours},
  volume =        {2},
  year =          {1879}
}

@inproceedings{Chaitin:1982vn,
  author =        {G. J. Chaitin},
  booktitle =     {SIGPLAN '82: Proceedings of the 1982 {SIGPLAN}
                   Symposium on Compiler Construction},
  pages =         {98--105},
  publisher =     {Association for Computing Machinery},
  title =         {Register {Allocation} \& {Spilling} via {Graph} {Coloring}},
  year =          {1982}
}

@article{Briggs:1994kx,
  author =        {Preston Briggs and Keith D. Cooper and Linda Torczon},
  journal =       {ACM Trans. Program. Lang. Syst.},
  number =        {3},
  pages =         {428--455},
  publisher =     {Association for Computing Machinery},
  title =         {Improvements to Graph Coloring Register Allocation},
  volume =        {16},
  year =          {1994}
}

@article{George:1996aa,
  author =        {George, Lal and Appel, Andrew W.},
  journal =       {ACM Trans. Program. Lang. Syst.},
  number =        {3},
  pages =         {300--324},
  publisher =     {Association for Computing Machinery},
  title =         {Iterated Register Coalescing},
  volume =        {18},
  year =          {1996}
}

@incollection{Matula:1972aa,
  author =        {David W. Matula and George Marble and Joel D. Isaacson},
  booktitle =     {Graph Theory and Computing},
  pages =         {109 - 122},
  publisher =     {Academic Press},
  title =         {Graph Coloring Algorithms},
  year =          {1972}
}

@inproceedings{Chow:1984ys,
  author =        {Frederick Chow and John Hennessy},
  booktitle =     {Proceedings of the 1984 SIGPLAN
                   {Symposium} on {Compiler} {Construction}},
  pages =         {222--232},
  publisher =     {Association for Computing Machinery},
  title =         {Register {Allocation} by {Priority-Based} {Coloring}},
  year =          {1984}
}

@inproceedings{Cooper:1998ly,
  author =        {Keith D. Cooper and L. Taylor Simpson},
  booktitle =     {Compiler Construction: Proceedings of the 7th International Conference},
  series =        {Lecture Notes in Computer Science},
  volume =        {1383},
  publisher =     {Springer},
  title =         {Live {Range} {Splitting} in a {Graph} {Coloring} {Register}
                   {Allocator}},
  year =          {1998}
}

@inproceedings{Palsberg:2007si,
  author =        {Palsberg, Jens},
  booktitle =     {Proceedings of the {T}hirteenth {A}ustralasian
                   {S}ymposium on {T}heory of {C}omputing},
  pages =         {3--3},
  publisher =     {Australian Computer Society},
  title =         {Register {A}llocation via {C}oloring of {C}hordal {G}raphs},
  year =          {2007}
}

@article{Poletto:1999uq,
  author =        {Massimiliano Poletto and Vivek Sarkar},
  journal =       {ACM Trans. Program. Lang. Syst.},
  number =        {5},
  pages =         {895--913},
  publisher =     {Association for Computing Machinery},
  title =         {Linear {S}can {R}egister {A}llocation},
  volume =        {21},
  year =          {1999}
}

@inproceedings{Allen:1970uq,
  author =        {Frances E. Allen},
  booktitle =     {Proceedings of a Symposium on Compiler Optimization},
  publisher = {Association for Computing Machinery},
  pages =         {1--19},
  title =         {Control {Flow} {Analysis}},
  year =          {1970}
}

@techreport{Friedman:1976aa,
  author =        {Daniel P. Friedman and David S. Wise},
  institution =   {Indiana University},
  number =        {TR44},
  title =         {Cons {Should} {Not} {Evaluate} {Its} {Arguments}},
  year =          {1976}
}

@book{Pierce:2002hj,
  author =        {Benjamin C. Pierce},
  publisher =     {MIT Press},
  title =         {Types and {P}rogramming {L}anguages},
  year =          {2002}
}

@article{Lieberman:1983aa,
  author =        {Lieberman, Henry and Hewitt, Carl},
  journal =       {Commun. ACM},
  number =        {6},
  pages =         {419--429},
  publisher =     {Association for Computing Machinery},
  title =         {A Real-Time Garbage Collector Based on the Lifetimes
                   of Objects},
  volume =        {26},
  year =          {1983}
}

@inproceedings{Ungar:1984aa,
  author =        {Ungar, David},
  booktitle =     {Proceedings of the First ACM SIGSOFT/SIGPLAN Software
                   Engineering Symposium on Practical Software
                   Development Environments},
  pages =         {157--167},
  publisher =     {Association for Computing Machinery},
  series =        {SDE 1},
  title =         {Generation Scavenging: A Non-Disruptive High
                   Performance Storage Reclamation Algorithm},
  year =          {1984}
}

@book{Jones:1996aa,
  author =        {Jones, Richard and Lins, Rafael},
  publisher =     {John Wiley \& Sons},
  title =         {Garbage Collection: Algorithms for Automatic Dynamic
                   Memory Management},
  year =          {1996}
}

@inproceedings{Detlefs:2004aa,
  author =        {Detlefs, David and Flood, Christine and Heller, Steve and
                   Printezis, Tony},
  booktitle =     {Proceedings of the 4th International Symposium on
                   Memory Management},
  series =        {ISMM '04},
  pages =         {37--48},
  publisher =     {Association for Computing Machinery},
  title =         {Garbage-{F}irst {Garbage} {Collection}},
  year =          {2004}
}

@inproceedings{Tene:2011kx,
  author =        {Tene, Gil and Iyengar, Balaji and Wolf, Michael},
  booktitle =     {Proceedings of the International Symposium on Memory
                   Management},
  pages =         {79--88},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '11},
  title =         {C4: the {C}ontinuously {C}oncurrent {C}ompacting {C}ollector},
  year =          {2011}
}

@incollection{Wilson:1992fk,
  author =        {Wilson, Paul},
  booktitle =     {Memory Management},
  editor =        {Bekkers, Yves and Cohen, Jacques},
  pages =         {1-42},
  publisher =     {Springer},
  series =        {Lecture Notes in Computer Science},
  title =         {Uniprocessor Garbage Collection Techniques},
  volume =        {637},
  year =          {1992}
}

@article{Cheney:1970aa,
  author =        {C. J. Cheney},
  journal =       {Commun. of the {ACM}},
  number =        {11},
  title =         {A Nonrecursive List Compacting Algorithm},
  volume =        {13},
  year =          {1970}
}

@article{McCarthy:1960dz,
  author =        {McCarthy, John},
  journal =       {Commun. ACM},
  number =        {4},
  pages =         {184--195},
  publisher =     {Association for Computing Machinery},
  title =         {Recursive {F}unctions of {S}ymbolic {E}xpressions and their
                   {C}omputation by {M}achine, Part I},
  volume =        {3},
  year =          {1960}
}

@article{Collins:1960aa,
  author =        {Collins, George E.},
  journal =       {Commun. ACM},
  number =        {12},
  pages =         {655--657},
  publisher =     {Association for Computing Machinery},
  title =         {A Method for Overlapping and Erasure of Lists},
  volume =        {3},
  year =          {1960}
}

@inproceedings{Blackburn:2004aa,
  author =        {Blackburn, Stephen M. and Cheng, Perry and
                   McKinley, Kathryn S.},
  booktitle =     {Proceedings of the Joint International Conference on
                   Measurement and Modeling of Computer Systems},
  pages =         {25--36},
  publisher =     {Association for Computing Machinery},
  title =         {Myths and Realities: The Performance Impact of
                   Garbage Collection},
  year =          {2004}
}

@book{Jones:2011aa,
  author =        {Jones, Richard and Hosking, Antony and Moss, Eliot},
  publisher =     {Chapman \& Hall/CRC},
  title =         {The Garbage Collection Handbook: The Art of Automatic
                   Memory Management},
  year =          {2011}
}

@inproceedings{Shahriyar:2013aa,
  author =        {Shahriyar, Rifat and Blackburn, Stephen M. and
                   Yang, Xi and McKinley, Kathryn M.},
  booktitle =     {Proceeding of the 24th ACM SIGPLAN
                   Conference on Object Oriented Programming Systems
                   Languages and Applications},
  series = {OOPSLA '13},
  publisher =     {Association for Computing Machinery},
  title =         {Taking Off the Gloves with Reference Counting Immix},
  year =          {2013}
}

@inproceedings{Cutler:2015aa,
  author =        {Cutler, Cody and Morris, Robert},
  booktitle =     {Proceedings of the 2015 International Symposium on
                   Memory Management},
  pages =         {131--142},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '15},
  title =         {Reducing Pause Times with Clustered Collection},
  year =          {2015}
}

@inproceedings{Shidal:2015aa,
  author =        {Shidal, Jonathan and Spilo, Ari J. and
                   Scheid, Paul T. and Cytron, Ron K. and
                   Kavi, Krishna M.},
  booktitle =     {Proceedings of the 2015 International Symposium on
                   Memory Management},
  pages =         {118--130},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '15},
  title =         {Recycling Trash in Cache},
  year =          {2015}
}

@inproceedings{Osterlund:2016aa,
  author =        {\"{O}sterlund, Erik and L\"{o}we, Welf},
  booktitle =     {Proceedings of the 2016 ACM SIGPLAN International
                   Symposium on Memory Management},
  pages =         {1--12},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '16},
  title =         {Block-Free Concurrent GC: Stack Scanning and Copying},
  year =          {2016}
}

@inproceedings{Jacek:2019aa,
  author =        {Jacek, Nicholas and Moss, J. Eliot B.},
  booktitle =     {Proceedings of the 2019 ACM SIGPLAN International
                   Symposium on Memory Management},
  pages =         {53--63},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '19},
  title =         {Learning When to Garbage Collect with Random Forests},
  year =          {2019}
}

@inproceedings{Gamari:2020aa,
  author =        {Gamari, Ben and Dietz, Laura},
  booktitle =     {Proceedings of the 2020 ACM SIGPLAN International
                   Symposium on Memory Management},
  pages =         {87--99},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '20},
  title =         {Alligator Collector: A Latency-Optimized Garbage
                   Collector for Functional Programming Languages},
  year =          {2020}
}

@inproceedings{Moore:1959aa,
  author =        {E.F. Moore},
  booktitle =     {Proceedings of an International Symposium on the
                   Theory of Switching},
  title =         {The {S}hortest {P}ath {T}hrough a {M}aze},
  publisher =     {Harvard University Press},
  year =          {1959}
}

@book{Cormen:2001uq,
  author =        {Thomas H. Cormen and Clifford Stein and
                   Ronald L. Rivest and Charles E. Leiserson},
  publisher =     {McGraw-Hill Higher Education},
  title =         {Introduction to Algorithms},
  year =          {2001}
}

@techreport{Steele:1977ab,
  author =        {Guy L. Steele},
  institution =   {MIT Artificial Intelligence Lab},
  number =        {420},
  type =          {AI Memo},
  title =         {Data Representations in PDP-10 MacLISP},
  year =          {1977}
}

@article{Appel:1989aa,
  author =        {Appel, Andrew W.},
  journal =       {LISP and Symbolic Computation},
  number =        {2},
  pages =         {153-162},
  publisher =     {Kluwer Academic Publishers},
  title =         {Runtime {Tags} {Aren't} {Necessary}},
  volume =        {2},
  year =          {1989}
}

@inproceedings{Goldberg:1991aa,
  author =        {Goldberg, Benjamin},
  booktitle =     {Proceedings of the ACM SIGPLAN 1991 Conference on
                   Programming Language Design and Implementation},
  pages =         {165--176},
  publisher =     {Association for Computing Machinery},
  series =        {PLDI '91},
  title =         {Tag-free Garbage Collection for Strongly Typed
                   Programming Languages},
  year =          {1991}
}

@inproceedings{Diwan:1992aa,
  author =        {Diwan, Amer and Moss, Eliot and Hudson, Richard},
  booktitle =     {Proceedings of the ACM SIGPLAN 1992 Conference on
                   Programming Language Design and Implementation},
  pages =         {273--282},
  publisher =     {Association for Computing Machinery},
  title =         {Compiler Support for Garbage Collection in a
                   Statically Typed Language},
  year =          {1992}
}

@inproceedings{Siebert:2001aa,
  author =        {Siebert, Fridtjof},
  title =       {Constant-Time Root Scanning for Deterministic Garbage
                   Collection},
  pages =         {304--318},
  publisher =     {Springer},
  booktitle =     {Compiler Construction: Proceedings of the 10th International Conference},
  year =          {2001}
}

@inproceedings{Henderson:2002aa,
  author =        {Henderson, Fergus},
  booktitle =     {Proceedings of the 3rd International Symposium on
                   Memory Management},
  pages =         {150--156},
  publisher =     {Association for Computing Machinery},
  series =        {ISMM '02},
  title =         {Accurate Garbage Collection in an Uncooperative
                   Environment},
  year =          {2002}
}

@article{Baker:2009aa,
  author =        {Baker, J. and Cunei, A. and Kalibera, T. and
                   Pizlo, F. and Vitek, J.},
  journal =       {Concurr. Comput.: Pract. Exper.},
  number =        {12},
  pages =         {1572--1606},
  publisher =     {John Wiley and Sons Ltd.},
  title =         {Accurate Garbage Collection in Uncooperative
                   Environments Revisited},
  volume =        {21},
  year =          {2009}
}

@techreport{Dijkstra:1982aa,
  author =        {E. W. Dijkstra},
  institution =   {University of Texas at Austin},
  number =        {EWD831},
  title =         {Why {Numbering} {Should} {Start} at {Zero}},
  year =          {1982}
}

@article{Kelsey:1998di,
  author =        {R. Kelsey and W. Clinger and J. Rees},
  journal =       {Higher-Order and Symbolic Computation},
  number =        {1},
  title =         {Revised$^5$ Report on the Algorithmic Language
                   Scheme},
  volume =        {11},
  year =          {1998}
}

@techreport{Cardelli:1983aa,
  author =        {Luca Cardelli},
  institution =   {AT\&T Bell Laboratories},
  number =        {TR-107},
  title =         {The Functional Abstract Machine},
  year =          {1983}
}

@inproceedings{Minamide:1996ys,
  author =        {Minamide, Yasuhiko and Morrisett, Greg and
                   Harper, Robert},
  booktitle =     {Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium
                   on Principles of Programming Languages},
  pages =         {271--283},
  publisher =     {Association for Computing Machinery},
  series =        {POPL '96},
  title =         {Typed {C}losure {C}onversion},
  year =          {1996}
}

@inproceedings{Shivers:1988aa,
  author =        {Shivers, O.},
  booktitle =     {Proceedings of the ACM SIGPLAN 1988 Conference on
                   Programming Language Design and Implementation},
  pages =         {164--174},
  publisher =     {Association for Computing Machinery},
  series =        {PLDI '88},
  title =         {Control Flow Analysis in {Scheme}},
  year =          {1988}
}

@inproceedings{Gilray:2016aa,
  author =        {Gilray, Thomas and Lyde, Steven and Adams, Michael D. and
                   Might, Matthew and Van Horn, David},
  booktitle =     {Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT
                   Symposium on Principles of Programming Languages},
  pages =         {691--704},
  publisher =     {Association for Computing Machinery},
  series =        {POPL '16},
  title =         {Pushdown Control-Flow Analysis for Free},
  year =          {2016}
}

@inproceedings{Keep:2012ab,
  author =        {Keep, Andrew W. and Hearn, Alex and Dybvig, R. Kent},
  booktitle =     {Proceedings of the Workshop on Scheme and Functional Programming},
  title =         {Optimizing Closures in {O}(0)-time},
  year =          {2012}
}

@article{Church:1932aa,
  author =        {Church, Alonzo},
  journal =       {Annals of Mathematics},
  number =        {2},
  pages =         {346-366},
  publisher =     {Annals of Mathematics},
  series =        {Second Series},
  title =         {A Set of Postulates for the Foundation of Logic},
  volume =        {33},
  year =          {1932}
}

@techreport{Guy-L.-Steele:1978yq,
  author =        {Guy L. Steele},
  institution =     {MIT},
  title =         {Rabbit: A Compiler for {Scheme}},
  year =          {1978}
}

@inproceedings{Cardelli:1984aa,
  author =        {Cardelli, Luca},
  booktitle =     {ACM Symposium on LISP and Functional Programming},
  publisher =     {Association for Computing Machinery},
  title =         {Compiling a Functional Language},
  year =          {1984}
}

@inproceedings{Gordon:1978aa,
  author =        {Gordon, M. and Milner, R. and Morris, L. and
                   Newey, M. and Wadsworth, C.},
  booktitle =     {Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium
                   on Principles of Programming Languages},
  pages =         {119--130},
  publisher =     {Association for Computing Machinery},
  series =        {POPL '78},
  title =         {A Metalanguage for Interactive Proof in LCF},
  year =          {1978}
}

@book{Milner:1990fk,
  author =        {Robin Milner and Mads Tofte and Robert Harper},
  publisher =     {MIT Press},
  title =         {The {D}efinition of Standard ML},
  year =          {1990}
}

@phdthesis{Dybvig:1987ab,
  author =        {R. Kent Dybvig},
  school =        {University of North Carolina at Chapel Hill},
  title =         {Three Implementation Models for Scheme},
  year =          {1987}
}

@article{Cardelli:1985kx,
  author =        {Luca Cardelli and Peter Wegner},
  journal =       {ACM Comput. Surv.},
  number =        {4},
  pages =         {471--523},
  publisher =     {Association for Computing Machinery},
  title =         {On {Understanding} {Types}, {Data} {Abstraction}, and
                   {Polymorphism}},
  volume =        {17},
  year =          {1985}
}

@inproceedings{Kildall:1973vn,
  author =        {Gary A. Kildall},
  booktitle =     {Proceedings of the 1st {A}nnual ACM
                   SIGACT-SIGPLAN {S}ymposium on {P}rinciples of {P}rogramming
                   {L}anguages},
  series =        {POPL '73},		 
  pages =         {194--206},
  publisher =     {Association for Computing Machinery},
  title =         {A {U}nified {A}pproach to {G}lobal {P}rogram {O}ptimization},
  year =          {1973}
}

@book{Kleene:1952aa,
  author =        {Kleene, S.},
  publisher =     {Van Nostrand},
  title =         {Introduction to {M}etamathematics},
  year =          {1952}
}

@inproceedings{Tobin-Hochstadt:2006fk,
  author =        {Sam Tobin-Hochstadt and Matthias Felleisen},
  booktitle =     {Companion to the 21st ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications (Dynamic Languages Symposium)},
  title =         {Interlanguage Migration: From Scripts to Programs},
  publisher =     {Association for Computing Machinery},
  year =          {2006}
}

@inproceedings{Matthews:2007zr,
  author =        {Jacob Matthews and Robert Bruce Findler},
  booktitle =     {Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
  series =        {POPL '07},
  title =         {Operational Semantics for Multi-Language Programs},
  publisher =     {Association for Computing Machinery},
  year =          {2007}
}

@inproceedings{Flanagan:2006mn,
  author =        {Cormac Flanagan},
  booktitle =     {Proceedings of the 33rd {ACM SIGPLAN-SIGACT} Symposium
                   on Principles of Programming Languages},
  series =        {POPL '06},		   
  pages =         {245-256},
  title =         {Hybrid Type Checking},
  publisher = {Association for Computing Machinery},
  year =          {2006}
}

@inproceedings{Gronski:2006uq,
  author =        {Jessica Gronski and Kenneth Knowles and Aaron Tomb and
                   Stephen N. Freund and Cormac Flanagan},
  booktitle =     {Proceedings of the Workshop on Scheme and Functional Programming},
  pages =         {93--104},
  title =         {Sage: Hybrid Checking for Flexible Specifications},
  url =  {http://www.schemeworkshop.org/2006/},
  year =          {2006}
}

@inproceedings{Anderson:2002kd,
  author =        {Christopher Anderson and Sophia Drossopoulou},
  booktitle =     {Electron. Notes Theor. Comput. Sci.},
  number =        {8},
  publisher =     {Elsevier},
  title =         {{BabyJ}: From Object Based to Class Based
                   Programming via Types},
  volume =        {82},
  year =          {2003}
}

@inproceedings{Siek:2006bh,
  author =        {Jeremy G. Siek and Walid Taha},
  booktitle =     {Proceedings of the Workshop on Scheme and Functional Programming},
  pages =         {81-92},
  title =         {Gradual {T}yping for {F}unctional {L}anguages},
  url =  {http://www.schemeworkshop.org/2006/},
  year =          {2006}
}

@inproceedings{Wadler:2009qv,
  author =        {Philip Wadler and Robert Bruce Findler},
  booktitle =     {Proceedings of Programming Languages and Systems: 18th European Symposium on Programming},
  pages =         {1--16},
  series =        {ESOP 2009},
  title =         {Well-Typed Programs Can't Be Blamed},
  year =          {2009}
}

@inproceedings{Herman:2006uq,
  author =        {David Herman and Aaron Tomb and Cormac Flanagan},
  booktitle =     {Trends in Functional Prog. (TFP)},
  title =         {Space-{E}fficient {G}radual {T}yping},
  year =          {2007}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@article{Herman:2010aa,
  author =        {Herman, David and Tomb, Aaron and Flanagan, Cormac},
  journal =       {Higher-Order and Symbolic Computation},
  number =        {2},
  pages =         {167-189},
  publisher =     {Springer US},
  title =         {Space-{E}fficient {G}radual {T}yping},
  volume =        {23},
  year =          {2010}
}

@article{Henglein:1994nz,
  author =        {Fritz Henglein},
  journal =       {Science of Computer Programming},
  number =        {3},
  pages =         {197-230},
  title =         {Dynamic Typing: Syntax and Proof Theory},
  volume =        {22},
  year =          {1994}
}

@inproceedings{Siek:2015ab,
  author =        {Jeremy G. Siek and Peter Thiemann and Philip Wadler},
  booktitle =     {Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation},
  series =        {PLDI '15},
  title =         {Blame and {C}oercion: {T}ogether {A}gain for the {F}irst
                   {T}ime},
  year =          {2015}
}

@inproceedings{Kuhlenschmidt:2019aa,
  author =        {Andre Kuhlenschmidt and Deyaaeldeen Almahallawi and
                   Jeremy G. Siek},
  booktitle =     {Proceedings of the ACM SIGPLAN Conference on Programming Language Design and
                   Implementation},
  publisher =     {Association for Computing Machinery},
  series =        {PLDI '19},
  title =         {Toward Efficient Gradual Typing for Structural Types
                   via Coercions},
  year =          {2019}
}

@inproceedings{stroustrup88:_param_types,
  author =        {Bjarne Stroustrup},
  booktitle =     {Proceedings of the USENIX {C++} Conference},
  title =         {Parameterized Types for {C++}},
  publisher =     {USENIX},
  year =          {1988}
}

@inproceedings{Blelloch:1993aa,
  author =        {Blelloch, Guy E. and Hardwick, Jonathan C. and
                   Chatterjee, Siddhartha and Sipelstein, Jay and
                   Zagha, Marco},
  booktitle =     {Proceedings of the Fourth ACM SIGPLAN Symposium on
                   Principles and Practice of Parallel Programming},
  publisher =     {Association for Computing Machinery},
  title =         {Implementation of a Portable Nested Data-Parallel
                   Language},
  year =          {1993}
}

@inproceedings{Weeks:2006aa,
  author =        {Weeks, Stephen},
  booktitle =     {Proceedings of the 2006 Workshop on ML},
  pages =         {1},
  publisher =     {Association for Computing Machinery},
  series =        {ML '06},
  title =         {Whole-Program Compilation in MLton},
  year =          {2006}
}

@techreport{liskov79:_clu_ref,
  author =        {Barbara Liskov and Russ Atkinson and Toby Bloom and
                   Eliot Moss and Craig Schaffert and Bob Scheifler and
                   Alan Snyder},
  institution =   {MIT},
  number =        {LCS-TR-225},
  publisher =     {Massachusetts Institute of Technology},
  title =         {{CLU} Reference Manual},
  year =          {1979}
}

@inproceedings{Liskov:1993dk,
  author =        {Liskov, Barbara},
  booktitle =     {The {S}econd ACM SIGPLAN {C}onference on {H}istory
                   of {P}rogramming {L}anguages},
  series =        {HOPL-II},
  pages =         {133--147},
  publisher =     {Association for Computing Machinery},
  title =         {A {H}istory of {CLU}},
  year =          {1993}
}

@inbook{Appel:1987aa,
  author =        {Appel, Andrew W. and MacQueen, David B.},
  booktitle =     {Functional Programming Languages and Computer
                   Architecture},
  pages =         {301--324},
  publisher =     {Springer},
  title =         {A Standard ML Compiler},
  year =          {1987}
}

@inproceedings{Bracha:1998fk,
  author =        {Bracha, Gilad and Odersky, Martin and
                   Stoutamire, David and Wadler, Philip},
  booktitle =     {Proceedings of the 13th ACM SIGPLAN {Conference} on
                   {Object-Oriented} {Programming}, {Systems}, {Languages}, and
                   {Applications}},
  publisher =     {Association for Computing Machinery},
  title =         {Making the {Future} {Safe} for the {Past}: {Adding}
                   {Genericity} to the {Java} {Programming} {Language}},
  year =          {1998}
}

@inproceedings{Leroy:1992qb,
  author =        {Xavier Leroy},
  booktitle =     {Proceedings of the 19th ACM SIGPLAN-SIGACT
                   {Symposium} on {Principles} of {Programming} {Languages}},
  series =        {POPL '92},
  pages =         {177--188},
  publisher =     {Association for Computing Machinery},
  title =         {Unboxed {Objects} and {Polymorphic} {Typing}},
  year =          {1992}
}

@article{Morrison:1991aa,
  author =        {Morrison, R. and Dearle, A. and Connor, R. C. H. and
                   Brown, A. L.},
  journal =       {ACM Trans. Program. Lang. Syst.},
  number =        {3},
  pages =         {342--371},
  publisher =     {Association for Computing Machinery},
  title =         {An Ad Hoc Approach to the Implementation of
                   Polymorphism},
  volume =        {13},
  year =          {1991}
}

@inproceedings{Harper:1995um,
  author =        {Robert Harper and Greg Morrisett},
  booktitle =     {Proceedings of the 22nd ACM SIGPLAN-SIGACT
                   {Symposium} on {Principles} of {Programming} {Languages}},
  pages =         {130--141},
  publisher =     {Association for Computing Machinery},
  title =         {Compiling {Polymorphism} {Using} {Intensional} {Type}
                   {Analysis}},
  series = {POPL '95},   
  year =          {1995}
}

