
This all sounds reasonable. A question though, when you spec of reflection, are you talking about 'full dynamic reflection' -- something like:
http://www.vollmann.com/pubs/meta/meta/meta.html
because that would be a nice addition to Boost by itself...or is it something more limited?
I guess that depends on what the community wants, and what Mariano thinks he can handle in the limited time. Full dynamic reflection wouldn't reuse much of the existing code in Boost.Extension. It would certainly be possible to provide a facility for generating and compiling (using Boost.Build probably) linked libraries at runtime, then using the Boost.Extension mechanisms to access it. Or, it could just be fully dynamic classes with fully dynamic methods, as described in the first part of the paper you mentioned. The method that would fit best with Boost.Extension would probably be the ability to instantiate classes that are not derived from known (that is, known to the instantiator) base classes, and then discover functions that can be called on them. Any other thoughts on this?