# source:doc/theses/rob_schluntz_MMath/thesis-frontpgs.tex@ca7949b

Last change on this file since ca7949b was 67982887, checked in by Peter A. Buhr <pabuhr@…>, 4 years ago

specialize thesis directory-names

• Property mode set to 100644
File size: 5.6 KB
Line
1% T I T L E   P A G E
2% -------------------
3% Last updated May 24, 2011, by Stephen Carr, IST-Client Services
4% The title page is counted as page i' but we need to suppress the
5% page number.  We also 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 Resource Management and Tuples in \CFA}
17
18        \vspace*{1.0cm}
19
20        \normalsize
21        by \\
22
23        \vspace*{1.0cm}
24
25        \Large
26        Robert Schluntz \\
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        Master of Mathematics \\
36        in \\
37        Computer Science \\
38
39        \vspace*{2.0cm}
40
41        Waterloo, Ontario, Canada, 2017 \\
42
43        \vspace*{1.0cm}
44
45        \copyright\ Robert Schluntz 2017 \\
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
57
58% D E C L A R A T I O N   P A G E
59% -------------------------------
60  % The following is the sample Delaration Page as provided by the GSO
61  % December 13th, 2006.  It is designed for an electronic thesis.
62  \noindent
63I 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.
64
65  \bigskip
66
67  \noindent
68I understand that my thesis may be made electronically available to the public.
69
70\cleardoublepage
71%\newpage
72
73% A B S T R A C T
74% ---------------
75
76\begin{center}\textbf{Abstract}\end{center}
77
78\CFA is a modern, non-object-oriented extension of the C programming language.
79This thesis addresses several critical deficiencies of C, notably: resource management, a limited function-return mechanism, and unsafe variadic functions.
80To solve these problems, two fundamental language features are introduced: tuples and constructors/destructors.
81While these features exist in prior programming languages, the contribution of this work is engineering these features into a highly complex type system.
82C is an established language with a dedicated user-base.
83An important goal is to add new features in a way that naturally feels like C, to appeal to this core user-base, and due to huge amounts of legacy code, maintaining backwards compatibility is crucial.
84
85\cleardoublepage
86%\newpage
87
88% A C K N O W L E D G E M E N T S
89% -------------------------------
90
91\begin{center}\textbf{Acknowledgements}\end{center}
92
93I would like to thank my supervisor, Professor Peter Buhr, for all of his help, including reading the many drafts of this thesis and providing guidance throughout my degree.
94This work would not have been as enjoyable, nor would it have been as strong without Peter's knowledge, help, and encouragement.
95
96I would like to thank my readers, Professors Gregor Richards and Patrick Lam for all of their helpful feedback.
97
98Thanks to Aaron Moss and Thierry Delisle for many helpful discussions, both work-related and not, and for all of the work they have put into the \CFA project.
99This thesis would not have been the same without their efforts.
100
101I thank Glen Ditchfield and Richard Bilson, for all of their help with both the design and implementation of \CFA.
102
103I thank my partner, Erin Blackmere, for all of her love and support.
104Without her, I would not be who I am today.
105
106Thanks to my parents, Bob and Jackie Schluntz, for their love and support throughout my life, and for always encouraging me to be my best.
107
108Thanks to my best friends, Travis Bartlett, Abraham Dubrisingh, and Kevin Wu, whose companionship is always appreciated.
109The time we've spent together over the past 4 years has always kept me entertained.
110An extra shout-out to Kaleb Alway, Max Bardakov, Ten Bradley, and Ed Lee, with whom I've shared many a great meal; thank you for being my friend.
111
112Finally, I would like to acknowledge financial support in the form of a David R. Cheriton Graduate Scholarship and a corporate partnership with Huawei Ltd.
113
114\cleardoublepage
115%\newpage
116
117% % D E D I C A T I O N
118% % -------------------
119
120% \begin{center}\textbf{Dedication}\end{center}
121
122% % This is dedicated to the one I love.
123% TODO
124% \cleardoublepage
125% %\newpage
126
127% T A B L E   O F   C O N T E N T S
128% ---------------------------------
130\tableofcontents
131\cleardoublepage
132\phantomsection
133%\newpage
134
135% L I S T   O F   T A B L E S
136% ---------------------------
138\listoftables
139\cleardoublepage
140\phantomsection         % allows hyperref to link to the correct page
141%\newpage
142
143% % L I S T   O F   F I G U R E S
144% % -----------------------------
146% \listoffigures
147% \cleardoublepage
148% \phantomsection               % allows hyperref to link to the correct page
149% %\newpage
150
151% L I S T   O F   S Y M B O L S
152% -----------------------------
153% To include a Nomenclature section