Don't use fake matrices (2014)

In two ancient posts I have talked about arrays in modern C, “don’t be afraid of variably modified types” and  “VLA as function arguments”. Still there seem to be … | Continue reading


@gustedt.wordpress.com | 1 year ago

A defer feature using lambda expressions

In the previous post I already presented an idea for a defer feature for C, namely a feature that would provide a simple mechanism to cleanup at the end of a block, regardless how that block is lef… | Continue reading


@gustedt.wordpress.com | 2 years ago

Type-Safe Parametric Polymorphism

Among the other new proposals for C23 that WG14 received are two brilliant gems by Alex Gilding The constexpr specifierThe void-which-binds: typesafe parametric polymorphism The first is probably w… | Continue reading


@gustedt.wordpress.com | 2 years ago

Feature Freeze for C23

The dust is now settling and we finally should have all proposals for new C23 features. Below you find links to some of the newer ones that I co-authored. Many previous proposals are still open bec… | Continue reading


@gustedt.wordpress.com | 2 years ago

C: Improve Type Generic Programming

This is a new paper that appeared today on the site of the C committee: C already has a variaty of interfaces for type-generic programming, but lacks a systematic approach that provides type safety… | Continue reading


@gustedt.wordpress.com | 2 years ago

Misnomers in C (2010)

C has many misnomers concerning keywords. Here I give a table of possible keywords and convenient macro names that might replace them. New keywords in future C standards usually start with an under… | Continue reading


@gustedt.wordpress.com | 3 years ago

A Defer Mechanism for C

An overview of a paper that presents a reference implementation of a defer mechanism (co-authored with Robert C. Seacord) has been accepted for publication at SAC’21: It introduces the implem… | Continue reading


@gustedt.wordpress.com | 3 years ago

A Common C/C++ Core Specification rev 2

v2 of that specification just appeared on the C comittee website: A Common C/C++ Core Specification rev 2 For an introduction to the originial version see “A common C/C++ core specification&#… | Continue reading


@gustedt.wordpress.com | 3 years ago

A common C/C++ core specification

I just published a new document on the WG14 (C committee) site N2494: A common C/C++ core specification It is attempt to push the fast-forward button to the annoyingly slow development process for … | Continue reading


@gustedt.wordpress.com | 4 years ago

A common C/C++ core specification

I just published a new document on the WG14 (C committee) site N2494: A common C/C++ core specification It is attempt to push the fast-forward button to the annoyingly slow development process for … | Continue reading


@gustedt.wordpress.com | 4 years ago

Modular C

Since decades, C is one of the most widely used programming languages, and is used successfully for large software projects that are ubiquitous in modern computing devices of all scales. For many p… | Continue reading


@gustedt.wordpress.com | 4 years ago

Modern C, Second Edition

  A new edition of the book Modern C is now available under a CC license via the following page  This edition is the result of a collaboration with Manning, and improves a lot over the previous edi… | Continue reading


@gustedt.wordpress.com | 4 years ago

C2x: the next real revision of the C standard

The C committee (AKA WG14) has now moved to construct the next real revision of the C standard. This is commonly referred to “C2x”, where the “x” is supposed to represent th… | Continue reading


@gustedt.wordpress.com | 5 years ago

Cross-language interfaces between C and C++

As you know, C and C++ are sister languages that have a lot in common, but that drifted quite apart over the years. In general, neither code of one language can be compiled as the other language, t… | Continue reading


@gustedt.wordpress.com | 5 years ago