I’ve just returned from the February 2019 meeting of WG21 held in Kona, Hawaii. This was my fifth meeting; my first was the July 2017 meeting in Toronto, and I’ve been to each since then, except Rapperswill. I joined the U.S. national body INCITS this past December, and so this was my first meeting as a voting member of PL22.16, representing myself (through my consulting company, KEWB Computing).
There are already a couple of great summaries covering the status of C++20: the first is Herb Sutter’s blog and the second is the Reddit update published by Bryce Lelbach. Both summaries are thorough and well-written; I recommend reading both for their differing perspectives.
I won’t decrease the universal SNR by duplicating what has already been written; I will say, however, that the addition of concepts, ranges, contracts, coroutines, and modules represents the largest update of the language since C++11. A large number of very smart people have worked for several years to make these changes happen, and I think we will all end up benefiting from them.
Linear Algebra Proposal
During this meeting, my collaborator Guy Davidson and I presented two papers describing our proposal to add linear algebra facilities to the standard library.
On Tuesday evening, Guy presented P1166R0, a paper that sets forth a high-level set of features and requirements we believe a linear algebra library must fulfill in order to be useful to a wide range of prospective users. The room was generally receptive, and there were no objections to the feature set Guy described.
On Wednesday afternoon, I presented draft D1385R1 to a session of SG18, the LEWG Incubator, affectionately known as LEWG(I). I gave a repeat performance Friday morning to a joint session of SG14 (game dev and low-latency) and SG19 (machine learning). In the Wednesday session, we received interface design feedback from the language experts in the room, while on Friday we received domain feedback from several numerical processing experts, including Andrew Lumsdaine, the author of MTL (the Matrix Template Library). The technical feedback from both sessions was very thoughtful (and useful), and we believe will help make our final proposal that much stronger.
The official R1 version of the paper, P1385R1, will be in the post-Kona mailing. If you’re interested, look for it after March 16th or so, which is when the link just given will become live. In the meantime, we’ve already begun work on R2 of this paper for Cologne.
I’ll post more about the proposal as work progresses. If you’d like to take a look at our code, see our Github repo. Be forewarned, the code is in a rapid state of flux and will evolve significantly over the coming months.
Thanks for stopping by.