Resource Management and Tuples in CⱯ
Loading...
Date
2017-05-01
Authors
Schluntz, Robert
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