
On Jun 8, 2009, at 8:19 PM, Emil Dotchevski wrote:
On Mon, Jun 8, 2009 at 5:07 PM, David Bergman
[snip]
I am not even super-happy about quite specific math libraries entering Boost now and then - ending up with a bunch of them.
The question is, do we or do we not allow domain-specific libraries in Boost? I think that it is obvious that we do, there are quite a few of them.
Yeah? I think you have the wrong idea about Boost - have you used Boost a lot, and in that case, what libraries? The bulk are generic language-lifting tools, basically giving the programmer a greater vocabulary. And, even if I bashed math libraries a bit, I would classify the current (as of 1.39.0) libraries as (and I did go through each library, and might have counted wrong with a few units here and there): 1. Language Extensions - 60 (including Statechart and BGL, which are applicable much more often than the developer realizes) 2. Common Types & Features (often part of newer languages standard libraries) - 8 (Accumulate, Numeric Conversion, Date, Format, Random, Regex, Serialization, Xpressive) 3. OS Abstraction Layer - 8 (Filesystem, Asio, Interprocess, Iostreams, Pool, System, Thread, Timer) 4. Math - 8 (Interval, various Math libraries, Rational) 5. Other Specialized - 7 (CRC, GIL, MPI, Proto, Python, Spirit, uBLAS, Units) The first two categories can be characterized as bringing the language of C++ up to (and beyond) that of newer creations, where the third category is often part of such a standard library. The number of libraries belonging to those three categories is 76. The latter two categories are clearly domain-specific, though. The number of such libraries is 15. If you disagree with these figures, I welcome a revised table, otherwise we can clearly state that domain- and target-*agnostic* libraries constitute the bulk of Boost, by far.
We could say "OK, no more domain-specific libraries in Boost!!!~!~1`~!!~111" but first we must formally define the domain of libraries that are acceptable in Boost. Good luck with that. :)
First of all, I do not understand why we would have to use profanity in stating that, but alright, I would definitely welcome such a decision, and it is quite easy; just see the table above. I would welcome exclusion of those 15 domain-specific libraries... /David