Resource Management and Tuples in CⱯ

Loading...
Thumbnail Image

Date

2017-05-01

Authors

Schluntz, Robert

Advisor

Buhr, Peter

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

CⱯ is a modern, non-object-oriented extension of the C programming language. This thesis addresses several critical deficiencies of C, notably: resource management, a limited function-return mechanism, and unsafe variadic functions. To solve these problems, two fundamental language features are introduced: tuples and constructors/destructors. While these features exist in prior programming languages, the contribution of this work is engineering these features into a highly complex type system. C is an established language with a dedicated user-base. An important goal is to add new features in a way that naturally feels like C, to appeal to this core user-base, and due to huge amounts of legacy code, maintaining backwards compatibility is crucial.

Description

Keywords

Programming Languages, C, Tuples, Constructors, Destructors, Variadic Functions, Resource management, RAII, Cforall

LC Keywords

Citation