Persistent Representation of C++ for Fun and Profit
summary
C++ compilers already emit a portable module artifact — IFC binary format (MSVC .ifc, Clang PCM) — that encodes declarations, types, expressions, string table, checksum, version and a table-of-contents so scripted tools can parse it without a compiler. The on-disk layout uses 32-bit abstract references into homogeneous partitions and supports header-units, macros, and resume state; MSVC ships it today and simple Python/Ruby parsers can load hundreds of thousands of lines on a laptop. The spec and sample IPR libraries live on GitHub for community adoption and extension.
AI-written summary · about
chapters (10)
- 0:00Start
- 3:08Problems with Status Quo
- 10:01Build Time Reflection
- 14:47Design Principles
- 16:13Design and Implementation Methodology
- 18:23Apply Gradual Lifting to Persistent Form
- 19:48The Algebra of C++ Programs
- 21:47IFC Specification Project
- 25:04Representation Design Choices
- 33:39Call to Action
related talks
01h 10m“C++ Modules: The State of The Union"
16mA Tour of the IFC SDK: Tools for a C++ Module Format
36mC++ Modules: Year 2021
34mPractical C++20 Modules and the future of tooling around C++ Modules
05mLightning Talk: Using the IFC Specification
45mC++ is a Metacompiler
30mInteractive C++ Compilation (REPL) Done in a Tiny and Embeddable Way
01h 11mA Practical Introduction to C++20's Modules
