@mastersthesis{Bilson03,
    keywords	= {Cforall, parametric polymorphism, overloading},
    contributer	= {pabuhr@plg},
    author	= {Richard C. Bilson},
    title	= {Implementing Overloading and Polymorphism in Cforall},
    school	= {School of Computer Science, University of Waterloo},
    year	= 2003,
    address	= {Waterloo, Ontario, Canada, N2L 3G1},
    note	= {\href{http://plg.uwaterloo.ca/theses/BilsonThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-BilsonThesis.pdf}},
}

@article{Buhr94a,
    keywords	= {assignment, parameter passing, multiple assignment},
    contributer	= {pabuhr@plg},
    author	= {P. A. Buhr and David Till and C. R. Zarnke},
    title	= {Assignment as the Sole Means of Updating Objects},
    journal	= spe,
    month	= sep,
    year	= 1994,
    volume	= 24,
    number	= 9,
    pages	= {835-870},
}

@techreport{C11,
    type = {International Standard},
    keywords	= {ISO/IEC C 11},
    contributer	= {pabuhr@plg},
    key		= {{ISO/IEC} 9889-2011},
    title	= {American National Standard Information technology -- Programming Languages -- {C}},
    institution = {International Standard Organization},
    address	= {http://www.iso.org},
    year	= 2012,
}

@techreport{C++Concepts,
    type = {International Standard},
    keywords	= {ISO/IEC TS 19217:2015},
    contributer	= {a3moss@uwaterloo.ca},
    key		= {{ISO/IEC} {TS} 19217},
    title	= {Information technology -- Programming languages -- {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Extensions for concepts},
    institution	= {International Standard Organization},
    address	= {http://www.iso.org},
    year	= 2015
}

@phdthesis{Ditchfield92,
    keywords	= {C, parametric polymorphism, overloading},
    contributer	= {pabuhr@plg},
    author	= {Glen Jeffrey Ditchfield},
    title	= {Contextual Polymorphism},
    school	= {Department of Computer Science, University of Waterloo},
    year	= 1992,
    address	= {Waterloo, Ontario, Canada, N2L 3G1},
    note	= {\href{http://plg.uwaterloo.ca/theses/DitchfieldThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-DitchfieldThesis.pdf}}
}

@article{Gro06,
 author = {Grossman, Dan},
 title = {Quantified Types in an Imperative Language},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {May 2006},
 volume = {28},
 number = {3},
 month = may,
 year = {2006},
 issn = {0164-0925},
 pages = {429--475},
 numpages = {47},
 url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},
 doi = {10.1145/1133651.1133653},
 acmid = {1133653},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@mastersthesis{Schluntz17,
    author  = {Schluntz, Robert},
    title   = {Resource Management and Tuples in C$\mathbf{\forall}$},
    school	= {School of Computer Science, University of Waterloo},
    year	= 2017,
    address	= {Waterloo, Ontario, Canada, N2L 3G1},
    note    = {[[unpublished]]}
}

@mastersthesis{Till89,
    keywords	= {C, multiple return values, tuples},
    contributer	= {pabuhr@plg},
    author	= {David W. Till},
    title	= {Tuples In Imperative Programming Languages},
    school	= {Department of Computer Science, University of Waterloo},
    year	= 1989,
    address	= {Waterloo, Ontario, Canada, N2L 3G1},
}
