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 Subject Headings

Citation