C3 0.8.4 introduces keyword renaming (faultdef to excuse, attrdef to attrmacro, constdef to constset) ahead of the 0.9.0 syntax freeze, along with expanded parameter reflection, contracts with pinpointed failures, stack hardening controls, and iOS support. The release maintains backward compatibility while establishing final language keywords before the planned syntactic freeze.
This article compares compile-time reflection capabilities across C++, Zig, and C3, examining how each language handles enum-to-string conversion, struct introspection, and validation. C++ uses verbose templates, Zig relies on comptime functions and builtins, while C3 employs a macro system with explicit compile-time syntax ($-prefixed constructs) that the author finds more readable and promising for systems programming.