source: doc/theses/aaron_moss_PhD/phd/frontpgs.tex @ d1b1063

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since d1b1063 was 11b3053, checked in by Aaron Moss <a3moss@…>, 5 years ago

thesis: first draft of abstract

  • Property mode set to 100644
File size: 6.1 KB
Line 
1% T I T L E   P A G E
2% -------------------
3
4% The title page is counted as page `i' but we need to suppress the
5% page number. Also, we don't want any headers or footers.
6\pagestyle{empty}
7\pagenumbering{roman}
8
9% The contents of the title page are specified in the "titlepage"
10% environment.
11\begin{titlepage}
12        \begin{center}
13        \vspace*{1.0cm}
14
15        \Huge
16        {\bf \CFA{} Type System Implementation }
17
18        \vspace*{1.0cm}
19
20        \normalsize
21        by \\
22
23        \vspace*{1.0cm}
24
25        \Large
26        Aaron Moss \\
27
28        \vspace*{3.0cm}
29
30        \normalsize
31        A thesis \\
32        presented to the University of Waterloo \\ 
33        in fulfillment of the \\
34        thesis requirement for the degree of \\
35        Doctor of Philosophy \\
36        in \\
37        Computer Science \\
38
39        \vspace*{2.0cm}
40
41        Waterloo, Ontario, Canada, 2019 \\
42
43        \vspace*{1.0cm}
44
45        \copyright\ Aaron Moss 2019 \\
46        \end{center}
47\end{titlepage}
48
49% The rest of the front pages should contain no headers and be numbered using Roman numerals starting with `ii'
50\pagestyle{plain}
51\setcounter{page}{2}
52
53\cleardoublepage % Ends the current page and causes all figures and tables that have so far appeared in the input to be printed.
54% In a two-sided printing style, it also makes the next page a right-hand (odd-numbered) page, producing a blank page if necessary.
55
56% E X A M I N I N G   C O M M I T T E E
57% -------------------------------------
58
59\begin{center}\textbf{Examining Committee Membership}\end{center}
60        \noindent
61  The following served on the Examining Committee for this thesis. The decision of the Examining Committee is by majority vote.
62        \bigskip
63       
64%       \noindent
65%   \begin{tabbing}
66%   Internal-External Member: \=  \kill % using longest text to define tab length
67%   External Examiner: \>  Bruce Bruce \\
68%   \> Professor, Dept. of Philosophy of Zoology, University of Wallamaloo \\
69%   \end{tabbing}
70%       \bigskip
71       
72        \noindent
73  \begin{tabbing}
74  Internal-External Member: \=  \kill % using longest text to define tab length
75  Supervisor: \> Peter Buhr \\
76  \> Professor, School of Computer Science, University of Waterloo \\
77  \end{tabbing}
78        \bigskip
79       
80        \noindent
81  \begin{tabbing}
82  Internal-External Member: \=  \kill % using longest text to define tab length
83  Internal Members: \> Gregor Richards \\
84  \> Professor, School of Computer Science, University of Waterloo \\
85  \> Ond\v{r}ej Lhot\a'ak \\
86  \> Professor, School of Computer Science, University of Waterloo \\
87  \end{tabbing}
88%       \bigskip
89       
90%       \noindent
91%   \begin{tabbing}
92%   Internal-External Member: \=  \kill % using longest text to define tab length
93%   Internal-External Member: \> Deepa Thotta \\
94%   \> Professor, Dept. of Philosophy, University of Waterloo \\
95%   \end{tabbing}
96%       \bigskip
97       
98%       \noindent
99%   \begin{tabbing}
100%   Internal-External Member: \=  \kill % using longest text to define tab length
101%   Other Member(s): \> Leeping Fang \\
102%   \> Professor, Dept. of Fine Art, University of Waterloo \\
103%   \end{tabbing}
104 
105  \cleardoublepage
106
107% D E C L A R A T I O N   P A G E
108% -------------------------------
109  % The following is a sample Delaration Page as provided by the GSO
110  % December 13th, 2006.  It is designed for an electronic thesis.
111  \noindent
112I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners.
113
114  \bigskip
115 
116  \noindent
117I understand that my thesis may be made electronically available to the public.
118
119\cleardoublepage
120
121% A B S T R A C T
122% ---------------
123
124\begin{center}\textbf{Abstract}\end{center}
125
126        The C programming language has been an important software development tool for decades.
127        \CFA{} is a new programming language designed with strong backwards-compatibility to take advantage of widely distributed C programming expertise and the large deployed base of C code, paired with modern language features to improve developer productivity.
128       
129        This thesis presents a number of improvements to \CFA{}.
130        The author has developed one major new language feature, generic types, in a way that integrates naturally with both the existing polymorphism features of \CFA{} and the translation-unit-based encapsulation model of C.
131        This thesis also presents a number of smaller refinements to the \CFA{} overload resolution rules, each of which improves the expressivity or intuitive nature of the language.
132       
133        This thesis also includes a number of practical improvements to \CFA{} compilation performance, focused on the expression resolution pass which is the main bottleneck.
134        These include better algorithms for argument-parameter matching and type assertion satisfaction, as well as a new type environment data structure based on a novel variant of union-find.
135        The compilation performance improvements have all been experimentally validated with a new prototype system which encapsulates the key aspects of the \CFA{} language; this prototype is a promising basis for future research, and is a technical contribution of this work.
136
137\cleardoublepage
138
139% A C K N O W L E D G E M E N T S
140% -------------------------------
141
142% \begin{center}\textbf{Acknowledgements}\end{center}
143
144% I would like to thank all the little people who made this thesis possible.
145% \cleardoublepage
146
147% D E D I C A T I O N
148% -------------------
149
150% \begin{center}\textbf{Dedication}\end{center}
151
152% This is dedicated to the one I love.
153% \cleardoublepage
154
155% T A B L E   O F   C O N T E N T S
156% ---------------------------------
157\renewcommand\contentsname{Table of Contents}
158\tableofcontents
159\cleardoublepage
160\phantomsection    % allows hyperref to link to the correct page
161
162% L I S T   O F   T A B L E S
163% ---------------------------
164\addcontentsline{toc}{chapter}{List of Tables}
165\listoftables
166\cleardoublepage
167\phantomsection         % allows hyperref to link to the correct page
168
169% L I S T   O F   F I G U R E S
170% -----------------------------
171\addcontentsline{toc}{chapter}{List of Figures}
172\listoffigures
173\cleardoublepage
174\phantomsection         % allows hyperref to link to the correct page
175
176% GLOSSARIES (Lists of definitions, abbreviations, symbols, etc. provided by the glossaries-extra package)
177% -----------------------------
178% \printglossaries
179% \cleardoublepage
180% \phantomsection               % allows hyperref to link to the correct page
181
182% Change page numbering back to Arabic numerals
183\pagenumbering{arabic}
Note: See TracBrowser for help on using the repository browser.