~/talk

C++ is a Metacompiler

Talkat C++Now 2024 · 2024-04-29..05-03· [compilers-and-language-design]
links:none on file
slides:none on file

Claims C++17+ can metacompile DSLs embedded in string literals into a numeric meta‑assembly which the cctm library translates into constexpr functions usable at compile or run time. Implementation is ~20,000 LOC, avoids the standard library, uses handwritten lexers plus an LL parser generator, and a backend of continuation machines implemented in continuation passing style with a vartic pack for universe and stage. Proof‑of‑concept compiles on GCC 11.4 and Clang 14, example suites compile in ~4.1s (GCC) with ~16–17 KB binaries; recursion still requires explicit type info. Roadmap targets semi‑self‑hosting plus lexer/LR parser and data‑structure generators.

AI-written summary · about

  1. 0:00Introduction
  2. 1:50What is a metacompiler
  3. 10:00Methodology overview
  4. 15:22CCTM library introduction
  5. 29:22Language showcase
  6. 36:28Performance benchmarks
  7. 38:37Future road map
  8. 42:32Q&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.