~/talk

Keynote: Reflection Is Only Half the Story

Talkat C++Now 2026 · 2026-05-04..05-08· [compilers-and-language-design]
slides:none on file

C++26 reflection solves observation but not generation, so the talk argues for tooling that generates formatters, serializers and tuple_cat code from reflections instead of handwriting templates or fragile C macros. It demos a working prototype that uses an annotation callback when a type is complete and a push-based model to inject an explicit formatter into an open namespace, compares Rust/Swift macro styles, and favors producing syntax via token-sequence output while keeping macro inputs as compiled C++ reflection objects to allow no raw code and preserve full language semantics.

AI-written summary · about

  1. 0:00C++ 26 reflection features
  2. 10:54C macros vs templates limits
  3. 21:25Reflection vs template metaprogramming
  4. 31:06Swift and Rust macro systems
  5. 42:58Token sequences for code gen
  6. 54:08Push-based formatting with reflection
  7. 1:08:12Swift and Rust expression macros
  8. 1:18:17Designing C++ macros future
  9. 1:24:55Reflection half the story
  10. 1:33:18Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.