5 comments

[ 1.8 ms ] story [ 22.7 ms ] thread
Been there… Pendantic nitpick: it's more akin to introspection, reflection would be self-modifying code.
BTF or DWARF info in principle contain the information needed, though working with them is cumbersome...
Nice. But you've just invented Zig!
C with Zig's comptime is compelling though. Zig doesnt allow you to access all the features your C compiler does, and puts you in the LLVM ecosystem. I've been working on something similar; extending C with both Zig/C++ inspired reflection and linear types, with a compiler that compiles to a subset of C to allow you to leverage GCC and all its extenstions.