Type Resolution in C∀

dc.contributor.authorYu, Fangren
dc.date.accessioned2025-05-21T19:27:34Z
dc.date.available2025-05-21T19:27:34Z
dc.date.issued2025-05-21
dc.date.submitted2025-05-20
dc.description.abstractC∀ (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.
dc.identifier.urihttps://hdl.handle.net/10012/21763
dc.language.isoen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectprogramming language
dc.subjectC∀
dc.subjectcompiler
dc.subjecttype system
dc.subjectpolymorphism
dc.titleType Resolution in C∀
dc.typeMaster Thesis
uws-etd.degreeMaster of Mathematics
uws-etd.degree.departmentDavid R. Cheriton School of Computer Science
uws-etd.degree.disciplineComputer Science
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.embargo.terms0
uws.contributor.advisorBuhr, Peter
uws.contributor.affiliation1Faculty of Mathematics
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Yu_Fangren.pdf
Size:
617.95 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: