\documentclass[format=acmlarge, anonymous, review]{acmart}

\citestyle{acmauthoryear}

\newcommand{\CFA}{C$\mathbf\forall$}
\newcommand{\TODO}{\textbf{TODO}}

\acmJournal{PACMPL}

\title{Generic Types with Efficient Dynamic Layout in \CFA{}}

\author{Aaron Moss}
\affiliation{%
	\institution{University of Waterloo}
	\department{David R. Cheriton School of Computer Science}
	\streetaddress{Davis Centre, University of Waterloo}
	\city{Waterloo}
	\state{ON}
	\postcode{N2L 3G1}
	\country{Canada}
}
\email{a3moss@uwaterloo.ca}

\terms{generic, types}
\keywords{generic types, polymorphic functions, Cforall}

\begin{CCSXML}
<ccs2012>
<concept>
<concept_id>10011007.10011006.10011008.10011024.10011025</concept_id>
<concept_desc>Software and its engineering~Polymorphism</concept_desc>
<concept_significance>500</concept_significance>
</concept>
<concept>
<concept_id>10011007.10011006.10011008.10011024.10011028</concept_id>
<concept_desc>Software and its engineering~Data types and structures</concept_desc>
<concept_significance>500</concept_significance>
</concept>
<concept>
<concept_id>10011007.10011006.10011041.10011047</concept_id>
<concept_desc>Software and its engineering~Source code generation</concept_desc>
<concept_significance>300</concept_significance>
</concept>
</ccs2012>
\end{CCSXML}

\ccsdesc[500]{Software and its engineering~Polymorphism}
\ccsdesc[500]{Software and its engineering~Data types and structures}
\ccsdesc[300]{Software and its engineering~Source code generation}

% \abstract{Abstract goes here.}
\begin{abstract}
\TODO{} Write abstract.
\end{abstract}

\begin{document}

\maketitle

\section{Introduction \& Background}
\CFA{}\footnote{Pronounced ``C-for-all'', and written \CFA{} or Cforall.} is an evolutionary modernization of the C programming language which aims to add modern language features to C while maintaining both source compatibility with C and a familiar mental model for programmers. This paper describes how generic types are designed and implemented in \CFA{}, and how they interact with \CFA{}'s polymorphic functions.

\CFA{}'s polymorphism was originally formalized by \citet{Ditchfield92}, and first implemented by \citet{Bilson03}.

\bibliographystyle{ACM-Reference-Format}
\bibliography{generic_types}

\end{document}