On Fri, Dec 23, 2022 at 5:14 AM Hans Dembinski via Boost
Hi all,
since there were concerns that the email list is so quiet, here is some noise.
Since, I guess, we are looking to fluff up this list. I guess I can add semi-coherent words ;-)
Is someone willing to explain to me why we have Predef and Config?
There are probably a couple of people who can explain. I might even be one of them. And this would be easier to explain if the Config documentation was better. Specifically in the area of stating its goal, what it's meant to do, its domain of operation, its reason for existence. Perhaps we are supposed to know everything just from its name? Do we dare ask for someone to volunteer such information be communicated in the documentation? Or do we all just know? So let me look at Predef, it says: == This library defines a set of compiler, architecture, operating system, library, and other version numbers from the information it can gather of C, C++, Objective C, and Objective C++ predefined macros or those defined in generally available headers. == Look at that. Seems clear to me what Predef does. I know I'm biased. Since I wrote that sentence. Should one write something else to make it clearer? What is missing from the description and documentation of Predef? Let's check.. reading the following sentence. == The idea for this library grew out of a proposal to extend the Boost Config library to provide more, and consistent, information than the feature definitions it supports. ==
It looks like these two libraries have a strong overlap in scope.
Hm, interesting. It does appear there is some overlap. It says so right there as "extend the Boost Config library". But can't really say for sure as the scope of Config is technically undefined. I clearly had some idea of what the scope of Config was at the time I wrote the above. There is one clear aspect though: Predef provides "more, and consistent, information". Yet, there is one clue to follow. That sentence says "feature definitions it [Config] supports". Clearly, at minimum, Config provides "feature definitions". Since Boost is "Boost C++ Libraries", we can only assume it's C++ features it's referring to. And if we check the first sentence, i.e. the goal of Predef, it doesn't mention C++ features. Hence, there appears to be a clear dividing line in what Predef covers. But let me ask you.. What do you think is the overlap? What do you think makes it strong?
Shouldn’t they be merged?
What an interesting question. It brings up some other questions to mind. So let me rephrase your question(s).. Why should they be merged? What is gained by merging? What is lost by merging? Are there alternatives to merging them? HTH -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net