Skip to content
0:00 / 0:00

#carbon#c++#variadics

How Designing Carbon C++ Interop Taught me About C++ Variadics & Bound Members - Chandler Carruth

CppNorth

6K subscribers • 3 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Chandler Carruth

Advanced. Deep dive for people who know the field.

4.7K views1 year ago2 recommendations

Programming languagesSystems programmingC++Language design and type systems

Chandler Carruth explains how designing interoperability between Carbon and C++ revealed deep insights into C++ variadics and bound members.

cppnorth.ca/ --- How Designing Carbon C++ Interop Taught me About C++ Variadics & Bound Members C++ has some amazing and powerful language features, but they can be difficult to understand. Moving past a basic understanding of a feature and common patterns of use requires a deep understanding of the underlying language design so that you can model how it works and how to effectively use it. But how do you develop a rich and compelling model for these parts of C++? The Carbon language aims for seamless and comprehensive interop with C++, including these complex and powerful aspects of the language. As a consequence, in order to design Carbon's features, we have to build exactly that rich and compelling model for C++ features they interoperate with. A surprising but delightful outcome is that the Carbon designs can often be used to build an even deeper and more effective understanding of C++ itself. This talk will work through the design of two Carbon features with significant C++ overlap: variadics and bound members . We will build up a design model for them, and show how you can use that model to think more deeply and holistically about the design of C++ code. It will also show how to build more expressive or robust C++ APIs through that model, even where C++ doesn't give you perfect building blocks. And most of all, it will showcase a fun and interesting way to learn about language design, and reason more deeply about the underlying principles of your code. --- Sponsored by: think-cell: think-cell.com/cppnorth JetBrains: jetbrains.com/ --- Chandler Carruth Google Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system and made guest appearances helping maintain a few core C++ libraries across Google's codebase. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Masters thesis. When not hammering away on a weirdly shaped keyboard, he enjoys sushi, fine dining, brown spirits, and everything about wine. --- CppNorth is an annual C++ conference held in Toronto, Canada. - Annual CppNorth C++ conference: cppnorth.ca/ - CppNorth Twitter: twitter.com/cppnorth --- YouTube Videos Edited by Alfio Foti mulliganfilm@gmail.com (416) 710 3994 #cpp​ #cppnorth​ #programming​

Why it's here

2 people recommend this

What people say. Recommended as an excellent talk on checked generic variadics and language interoperability design.

u/javascriptin r/ProgrammingLanguages • Recommends

On “Exciting update about memory safety in Carbon”

…nition, saving compile time and making testing easier because you don't need to exhaustively list all the possible inputs in your unit tests. To my knowledge, Carbon is the only language to support checked generic variadics. It's one of my favorite features of the language and I encourage folks to watch this talk from the person that designed it: link to this video In addition, if one is interested in a second take on checked generic variadics, the first half of this talk also discusses them: link to this video…

u/mttdin r/ProgrammingLanguages • Recommends

How Designing Carbon C++ Interop Taught me About C++ Variadics & Bound Members - Chandler Carruth