[modularization] First goal clarification: have a DAG dependency graph?

Hi, I would like what is the first goal of the modularization changes we are doing. IMO, the first one is to have modules that don't have dependency cycles, that is they form a DAG. Reducing the dependencies could be done later on, once we don't have cycles. The next conflicting cycle is Level 3 1/2 mpl - config core predef preprocessor static_assert type_traits utility type_traits - config core mpl preprocessor static_assert typeof utility typeof - config core mpl preprocessor type_traits utility - config core mpl preprocessor static_assert throw_exception type_traits If declval moves from utility to type_traits we break the type_traits->utility dependency. Could we extract *temporally* common_type to a specific module? These break the type_traits -> typeof dependency and the type_traits I say temporary because once all the changes are done to avoid the cycles, we can start looking for better ways to organize the modules preserving always the DAG structure. If we admit these changes we have to resolve this cycle type_traits<=>mpl. We need surely to add every thing that allows to define a trait to either to TypeTraits or to Core without using MPL of course. However in order to see clearer on the dependencies that must be broken to avoid this cycle, could these new file-to-module associations be applied? Best, Vicente
participants (1)
-
Vicente J. Botet Escriba