Boost logo

Boost :

Subject: Re: [boost] To modularize, or not to modularize. What is the plan?
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2019-05-07 04:59:22


On 2019-05-06 7:47 p.m., Rene Rivera via Boost wrote:

> What would it take to reach that modular goal? Why do I keep saying we've
> been working on this for ages and ages? Briefly here's what it would take
> to get there (not in any particular order):
>
> * Abandon the single header include tree.
> * Abandon the monolithic build infrastructure.
> * Ban relative use of inter-library dependencies.
> * Explicit declaration of inter-library dependencies.
> * Strict normalized library layout.
> * Remove, and ban, dependency cycles at the inter-library user consumable
> granularity.
>
> There's probably more items that I've forgotten above. But this should be
> enough to converse about.

Indeed. For example documentation and other metadata (issue trackers,
release notes, etc., etc.) that we may want to syndicate via the main
boost.org portal, but which should likewise not be generated in a
monolithic way.

The best part about modularization is that we don't have to switch from
black to white in a single atomic transaction.

Rather, we can take one library at a time and apply the above rules. In
fact, I imagine it to be possible to draw a graph that shows inbound
(prerequisites) and outbound (dependencies) connections, so we can rank
libraries such that we work our way from the outside inwards. The ones
that no other boost libraries depend on, and which have the fewest boost
prerequisites, can be converted first.

This work can in fact spread over multiple release cycles, so we don't
have to complete all of this within four months.

Stefan

-- 
       ...ich hab' noch einen Koffer in Berlin...

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk