i think hierarchical packages support is *VERY* important.
i don't known well C# and GNU GCC versioning and packaging solutions, but i think Java must handle versioning and hierarchical scoping more seriously ...
The problem should be addressed at different levels: artifact packaging (the shared lib), api declaration (the include dir).
Any solution must not confound two related but different concepts:
free modularization, related to top/down decomposition of the internal implementation of a module (white box)
clear module api declaration (black box) without recurring to facade antipatterns.
Just one point ...
I do not think that the implementation proposed is the best one.
Ok, it lets you to introduce new language keywords in a very "special" places, but maybe a stronger connection with the "__export"-ed point shound be needed (linguistic annotations) ? |