On 10/18/2013 06:01 AM, Edward Diener wrote:
On 10/17/2013 6:24 PM, Stephen Kelly wrote:
Hi there,
my plan for modularizing and modernizing Boost was roughly this:
* Phase 0 - remove dead weight by bumping compiler feature requirements * Phase 1 - move some files around so that the modularized repos form a mostly directed graph
I disagree with the idea that dependencies should be reduced unless there is a better reason than just analyzing a directed graph.
The reason to transform the cyclic mesh into a directed graph was never "just analysis". Primarily it is dependency (at the repo/package level, not the file level) reduction. http://thread.gmane.org/gmane.comp.programming.tools.ryppl.devel/201 That's the entire reason I arrived on the boost list.
Once you start moving code just to reduce dependencies you may actually end increasing dependencies for end-users. The typical situation showing this is:
Library AAA depends on Library BBB and nothing else in Boost currently depends on library BBB so you decide to move library BBB into library AAA to reduce a dependency. Now you have the end-user who uses library BBB in his code. After the move the end-user now depends on library AAA, but library AAA may is now bigger than before and if it is a library which must be built the end-user must ship a much larger shared library even though he may only need a small part of a library.
Even if library BBB is only a header only library why should the user of library BBB have to know about library AAA to use just the part of library BBB he used before ?
The current situation is that to use any one of 68 boost packages, you have to have all of them, just to use the part you used before. I'm trying to remedy that.
This need you feel to glob together libraries and/or pieces of libraries for the abstract goal of reducing dependencies is just wrong IMO.
Please don't panic. The goal is not abstract and the method, as I tried hard in my initial mail to make clear with a special note to try to avoid responses like yours, is something to be done with thought and consideration for concerns like yours (obviously). Thanks, Steve.