Sorry for the long delay in response!
First, though, perhaps consider your goals, as I’m not 100% sure the
Reflection TS is the last word on the subject of reflection — though
others certainly disagree with me.
Just wanted to chime in on this with my 2c.
The Reflection TS is certainly not the last word on the subject of reflection – an improved version of reflection facilities are being worked on for a future C++ standard (such as C+23 or C++26).
However, the purpose of the Reflection TS is to gather implementation and use experience to guide such improvements prior to final standardization.
I think it would be very valuable to implement the Reflection TS so that we can gather such use experience.
For what its worth, I plan on continuing to work on my fork to get as close to a complete implementation of the current TS. If nothing else, it’ll help me understand some of the challenges going forward so I can contribute more constructively to these conversations.
I am even considering forking clang semi-permanently just to be able to clean up the AST in this way — if there are others interested in developing a “stable AST” fork — the main job would be standardizing names, improving the documentation, factoring out helper bases, etc. — please let me know.
I would definitely be interested in helping out with such a project, though I will say I’m a bit concerned that forking for so long would make it extremely difficult to merge back at some point. Are there any ongoing discussions regarding refactoring the AST in this way? Or would this be a new effort?
I’m curious how such a big change would be viewed by the rest of the community as this would affect a lot of developers.