Please note: This master’s thesis presentation will take place in DC 2314.
Fangren Yu, Master’s candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Peter Buhr
C∀ (C-for-all) is an evolutionary extension of the C programming language, which introduces many modern programming language features to C. C∀ 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.
This thesis presents a series of work I did on type resolution in C∀. Every function, including the built-in C operators, can be overloaded in C∀, therefore resolving function overloads and generic type parameters is at the heart of C∀ expression analysis. This thesis focuses on the interactions of various C∀ language features such as reference and generic types in type resolution, analyzes the known issues and presents improvements to the type system that fix several of the problems. Ideas for future work are also given for further improving the consistency of the C∀ type-system at a language design level.