
Hi again, [MC] Personally I don't have anything against "mirror" I just didn't want to put any shameless plugs there :) since Mirror is also the name of the library that I'm working on. But I'll go with anything the community here suggests or the Committee decides (if the proposal manages to go that far). [JN] I guess the proposal should mention the name it thinks is more appropriate. Your library is one of many using that name for that purpose, so no shameless plugs ;) I guess that "mirror" is the proper name since the objects don't reflect themselves, but just my 2 cts. [MC] [About metadata generation] Actually, this is one of my primary concerns. I also think that the way to go is not to reflect everything automatically, but to let the user to (somehow) choose what should be reflected. But i think that the process of "marking" namespaces, classes, etc. that should be reflected, should be decoupled from the declaration of the namespace, class, etc. because that would allow greater flexibility and also would allow to cherry-pick, what parts of 3rd-party libraries should be reflected in concrete applications based on their needs. [JN] I think there's a problem in this. If I summarize, the reflection info is (should) be stored in an immutable global object. That means that it must (should) be declared in a CPP, not a header, like other global (/static) variables. If it is, then the compiler must make sure that is present only once accross various libraries. It may be possible, but I am not sure. If the declaration of the metadata is not linked to the declaration of the object, then the compiler has no way to know whether that info exists and will suppose it does. If it doesn't you'll get a link error. On the other hand if you force the declaration of the metadata at the same time as the type, then the compiler knows whether the metadata exists or not and will result in an earlier error that is probably easier to analyze. Now, if the metadata is only type information it *may* be possible to generate it at will anywhere without linking problem. I guess the proposal should explicit more how all that should work and probably requires some compiler expertise I am far from having. Regards, Julien