As already announced, CppCon 2021 will kick off on Monday, October 25 with Bjarne Stroustrup delivering the opening keynote live in person in Aurora, Colorado, USA.
Weâre happy to announce another plenary talk: Herb Sutter will be there live in person to deliver a brand-new talk about post-C++20 C++ language evolution. Here is his talk description:
Extending and Simplifying C++: Pattern Matching using is and as
C++20 is a unique historic milestone: the first edition of Standard C++ thatâs âD&E-complete,â with essentially all of the features Bjarne Stroustrup outlined in The Design and Evolution of C++Â for C++âs evolution. That doesnât mean evolution is done, however, and work continues on adding a few more important features in C++23 and beyond, including reflection and pattern matching.
In this talk, Iâll show the C++ pattern matching libraries and language proposals weâve considered, and present my own contribution that builds on them. My paper has two major aims: (1) to make the syntax clean and regular, and avoid inventing a little sublanguage that works only inside âinspectâ; and (2) to make it generalizable so we can use it consistently throughout the language, because matching a pattern is a broadly useful feature that ideally should not be limited to âinspectâ only⌠for example, we would love to express patterns in âifâ and ârequiresâ conditions too.
I hope that the most important contribution is that, if we add pattern matching in a way that also provides general âmatchâ and âextractâ support throughout the language in the form of generalized âisâ constraints and âasâ casts, the net result is that we can actually simplify C++⌠yes, even as we add new features and more expressive power. How can that be simpler? By letting programmers directly express their intent where they have to express it indirectly today, by making the language more regular with fewer special cases to learn, by unifying the syntax of existing standard library features that today have a gaggle of different and divergent styles (e.g., variant, optional), and by providing one general and expressive way to use patterns cleanly throughout C++.
Registration is now open for what will certainly be one of the most memorable CppCons ever this October 24-29. Register today!
Tickets are now available for both online attendees and in-person attendees who are vaccinated, with the goal of opening registration further as we all learn more about what will be safe.