Ignore:
Timestamp:
Mar 13, 2019, 11:35:33 AM (7 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum, stuck-waitfor-destruct
Children:
d078afd
Parents:
1c35c78 (diff), 30e32b2 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/aaron_moss_PhD/phd/frontpgs.tex

    r1c35c78 r8b590a4  
    6262        \bigskip
    6363       
    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
     64        \noindent
     65  \begin{tabbing}
     66  Internal-External Member: \=  \kill % using longest text to define tab length
     67  External Examiner: \>  Doug Lea \\
     68  \> Professor, Computer Science Department, \\
     69  \> State Univesity of New York at Oswego \\
     70  \end{tabbing}
     71        \bigskip
    7172       
    7273        \noindent
     
    7475  Internal-External Member: \=  \kill % using longest text to define tab length
    7576  Supervisor: \> Peter Buhr \\
    76   \> Professor, School of Computer Science, University of Waterloo \\
     77  \> Associate Professor, School of Computer Science, \\
     78  \> University of Waterloo \\
    7779  \end{tabbing}
    7880        \bigskip
     
    8183  \begin{tabbing}
    8284  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 \\
     85  Internal Members: \> Ond\v{r}ej Lhot\a'ak \\
     86  \> Associate Professor, School of Computer Science, \\
     87  \>University of Waterloo \\
     88  \\
     89  \> Gregor Richards \\
     90  \> Assistant Professor, School of Computer Science, \\
     91  \> University of Waterloo \\
    8792  \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
     93        \bigskip
     94       
     95        \noindent
     96  \begin{tabbing}
     97  Internal-External Member: \=  \kill % using longest text to define tab length
     98  Internal-External Member: \> Werner Dietl \\
     99  \> Assistant Professor, Electrical and Computer Engineering, \\
     100  \> University of Waterloo \\
     101  \end{tabbing}
     102%       \bigskip
    97103       
    98104%       \noindent
     
    124130\begin{center}\textbf{Abstract}\end{center}
    125131
    126 This is the abstract.
     132        The C programming language has been an important software development tool for decades.
     133        \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.
     134       
     135        This thesis presents a number of improvements to \CFA{}.
     136        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.
     137        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.
     138       
     139        This thesis also includes a number of practical improvements to \CFA{} compilation performance, focused on the expression resolution pass, which is the main bottleneck.
     140        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.
     141        The compilation performance improvements have all been experimentally validated with a new prototype system that encapsulates the key aspects of the \CFA{} language; this prototype is a promising basis for future research and a technical contribution of this work.
    127142
    128143\cleardoublepage
     
    131146% -------------------------------
    132147
    133 % \begin{center}\textbf{Acknowledgements}\end{center}
    134 
    135 % I would like to thank all the little people who made this thesis possible.
    136 % \cleardoublepage
     148\begin{center}\textbf{Acknowledgements}\end{center}
     149
     150Though a doctoral thesis is an individual project, I could not have completed it without the help and support of many members of my community.
     151This thesis would not exist in the form it does without the mentorship of my advisor, Peter Buhr, who has ably led the \CFA{} team while giving me both the advantage of his decades of experience and the freedom to follow my own interests.
     152
     153My work on \CFA{} does not exist in a vaccuum, and it has been a pleasure and a privilege to collaborate with the members of the \CFA{} team: Andrew Beach, Richard Bilson, Michael Brooks, Bryan Chan, Thierry Delisle, Glen Ditchfield, Brice Dobry, Rob Schluntz, and others.
     154I gratefully acknowledge the financial support of the National Science and Engineering Council of Canada and Huawei Ltd.\ for this project.
     155I would also like to thank of my thesis committee, Werner Dietl, Doug Lea, Ond\v{r}ej Lhot\a'ak, and Gregor Richards, for the time and effort they have invested in providing constructive feedback to refine this work.
     156I am indebted to Peter van Beek and Ian Munro for their algorithmic expertise and willingness to share their time with me.
     157I have far too many colleagues in the Programming Languages Group and School of Computer Science to name, but I deeply appreciate their camaradarie; specifically with regard to the production of this thesis, I would like to thank Nathan Fish for recommending my writing soundtrack, and Sharon Choy for her unfailing supply of encouraging rabbit animations.
     158
     159Finally, to all my friends and family who have supported me and made Kitchener-Waterloo home these past seven years, thank you, I could not have done it without you; most especially, Christina Moss, you are the best of wives and best of women, your support has kept me going through the ups and downs of research, and your partnership is key to all my successes.
     160
     161\cleardoublepage
    137162
    138163% D E D I C A T I O N
     
    141166% \begin{center}\textbf{Dedication}\end{center}
    142167
    143 % This is dedicated to the one I love.
     168% To Christina, who has spent too many hours politely listening to me work out the technical minutiae of this thesis, I love you, and I won't make you read it.
     169
    144170% \cleardoublepage
    145171
Note: See TracChangeset for help on using the changeset viewer.