
Ion Gaztañaga wrote:
El 09/06/2014 0:24, Andrey Semashev escribió:
On Sunday 08 June 2014 23:53:41 Ion Gaztañaga wrote:
TypeTraits would not be MPL dependant. MPL could depend on TypeTraits and Core.
mpl::bool_ is not the only thing TypeTraits uses from MPL, so this dependency won't go that easily. This is arguably true for other libraries as well. Pulling more things from MPL to Core will make it heavier. I'd like to keep MPL stuff localized and IMHO Core is not the right place for it.
Sorry, I missed the rest of dependencies. The circular dependency between MPL and TypeTraits doesn't sound very good from a a design point of view.
If separate modules are so tightly coupled that they are inseparable, they are "incidentally" a single module (think 'incidental data structures'). Neither can exist without the other. Typeof and Core also participate in a closed dependency loop with MPL and TypeTraits. The four form one 'incidental module'. You could decide whether absence of incidental modules is a design goal. If it is, then you can merge those four together when it is no longer possible to remove edges between them. Thanks, Steve.