CallMeMaybe: runtime reflection library built on C++26 static reflection

I have a policy to effectively never link to YouTube videos. I’ll gladly make an exception for this one.

Reflection is one of the most powerful concepts in Computer Science. Unfortunately, not every programming language is blessed enough to have it.

In the 1980s, one company, Symbolics took the concept to the logical extreme. By representing EVERYTHING as objects; they created the most powerful (and inadvertently) least private operating system ever created!

The company collapsed, but the ideas live on. Some modern languages got a full dose of reflection. Some…weren’t so lucky. I ranked them all, and in the end I’ll show you how I dragged C++ up a tier with my brand new runtime reflection library, CallMeMaybe!

↫ Laurie Wired

The GitHub description of CallMeMaybe:

CallMeMaybe (CMM) is a C++ runtime reflection library built on top of P2996 static reflection introduced in C++26. CMM purposefully mirrors many of the std::meta functions to provide a uniform interface, but allows runtime introspection, dynamic invocation, and instantiation by building a runtime reflection registry. Class members can be automatically traversed and reflected by simply adding [[=cmm::reflectable]] as an annotation. CMM implements a custom type system to completely avoid RTTI requirements.

↫ CallMeMaybe GitHub page

My YouTube linking policy will remain in place.

One Response

  1. 2026-08-01 5:45 pm

Leave a Reply