The Libraries will be performing maintenance on UWSpace from July 15th-17th, 2026. UWSpace will be offline for all UW community members during this time.

Type Resolution in C∀

Loading...
Thumbnail Image

Advisor

Buhr, Peter

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

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.

Description

LC Subject Headings

Citation