
On Thu, Oct 17, 2013 at 6:24 PM, Stephen Kelly
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 * Phase 2 - Form some kind of 'boost core library' or 'boost feature normalization library' from the guts of existing libraries like type_traits, static_assert, config mpl and utilities. * Phase 3 - Try to port the mpl to variadic templates so that the dependency on Boost.PP is not needed when variadic templates are available.
I recommend completing up to phase 2 before migrating to git, as otherwise files will have to be deleted from one repo, and added to another without history.
Phase 1 was discussed several years ago when modular boost was being planned. The decision was to do some limited moving of files around as part of the conversion process, but only when necessary. This was part of the strategy of limiting modularization changes to simplify the conversion process and ensure library maintainer buy-in. Phase 2 was also discussed at length then, and if IIRC the feeling was that phase 2 is considerably more complex than it appears on the surface, would push out the conversion date too far, etc.
Phase 0 is aborted, so let's look at phase 1.
I wasn't aware that phase 0 was aborted. Why was that? The other phases are well worth discussing, particularly once the conversion is complete and that giant step is behind us. --Beman