Changeset bb506e0 for doc/theses
- Timestamp:
- Apr 10, 2025, 5:13:49 PM (5 months ago)
- Branches:
- master
- Children:
- aacd1e1, b1b513d
- Parents:
- 28182444
- Location:
- doc/theses/fangren_yu_MMath
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/fangren_yu_MMath/resolution.tex
r28182444 rbb506e0 151 151 Specifically, the resolution algorithms used in \CC and Java are greedy, selecting the best match for each subexpression without considering the higher-level ones (bottom-up). 152 152 Therefore, at each resolution step, the arguments are already given unique interpretations, so the ordering only needs to compare different sets of conversion targets (function parameter types) on the same set of input. 153 \begin{cfa}154 @generate a C++ example here@155 156 read more157 \end{cfa}158 153 159 154 In \CFA, trying to use such a system is problematic because of the presence of return-type overloading of functions and variable. -
doc/theses/fangren_yu_MMath/uw-ethesis-frontpgs.tex
r28182444 rbb506e0 131 131 \begin{center}\textbf{Abstract}\end{center} 132 132 133 Type resolution ... 133 \CFA (C-for-all) is an evolutionary extension of C programming language, which introduces many modern programming language features to C. 134 \CFA has a type system built around parametric polymorphism, and the polymorphic functions are prefixed by a @forall@ declaration of type parameters, giving the language its name. 135 136 This thesis presents a series of work on type resolution in \CFA. Every function, including the built-in C operators, can be overloaded in \CFA, therefore resolving function overloads and generic type parameters is at the heart of \CFA expression analysis. This thesis focuses on the interactions of various \CFA language features such as reference and generic types in type resolution, analyzes the known issues and presents improvements to the type system that fix those problems. Ideas for future work are also given for further improving the consistency of \CFA type system at a language design level. 134 137 135 138 \cleardoublepage
Note:
See TracChangeset
for help on using the changeset viewer.