October 30, 2019

A Universal Async Abstraction for C++

Executors - of which P0443R11 is one of the latest iterations - is poised to be the most fundamental library addition to C++23. But what is it about? It is first and foremost a quest to find the most basic building blocks on top of which one could build asynchronous, concurrent and parallel code, whether it be on a small chip or a supercomputer with thousands of CPUs and GPUs. Read more

August 17, 2019

C++ compilation: Fifty shades of Mojibake

Interestingly, writing was initially invented as a way to keep track of numbers. Words came much later. Computers are good at numbers. It’s the only thing they understand really. So text has to be represented as a sequence of numbers which are interpreted and ascribed meaning. Code, in the presence of arbitrary identifiers and string literals as to be considered as text. In the context of C++, how is the text of our program interepreted and transcoded during compilation? Read more

April 27, 2019

Characters sets: A bad idea since the bronze age

You who shall hereafter see this tablet, which I have written, or these sculptures, do not destroy them, but preserve them so long as you live! In 522 BC, 𐎭𐎠𐎼𐎹𐎢𐏁 also known as Dārīus was king of the Persian Empire. Kings crave fame as they do power and so Darius (who the greek later called Δαρεῖος) had his henchmen carve his name in stone. One such stone is the Behistun Inscription, which is really more a mountain than a stone. Read more

February 28, 2019

Kona: A trip report

I was lucky enough to participate in a third wg21 committee meeting in a row, this time in Kona, Hawaii, a mere 13000 kilometers away. Kona As is tradition, Bryce and others wrote a rather thorough trip report on Reddit and you should check it out. However, if you want to read more details about my experience and some of the proposals I find important, please read on (knowing that your time is limited, and doing so will leave less time to read other blog posts). Read more

January 6, 2019

What is C++ ?

These past few weeks have been quite difficult for me. I have therefore not followed closely the ongoing discussions about C++, ranges, game developers and iota. I’m afraid my current outlook on things is rather cynical and I’ve been told I might be too assertive and opinionated. So, rather than another exercise in quixotism, or a pointless opinion on how best name a function that creates a sequence, let me ask a few questions. Read more

December 6, 2018

Towards Better C++ Modules - Part 2: Modules naming

In case you have been napping, in the last installment we talked about modules mapping, and so now we must talk about modules naming. You see, modules have names and names are hard. In this case, names serve to identify uniquely each module used through the program. The end of this article proposes to govern module naming through an official WG21 standing document and I would love your opinion. But be patient! Read more