Monday, April 11, 2011

Is Boost guilty of being un-Boost-like?

I was just reading the intro to the Boost::Spirit LL Parser framework. The preface suggests that the author and creator likes to use such parsing technology to read in program options. Doesn't Boost have its own library for program options?

I am wondering, does the Boost committee review all the library notes for common themes and style? It seems the doc for each library have their own flavor to them.

Small gripe for an otherwise amazing piece of software, I just found it curious.

From stackoverflow
  • You're right, not all boost libraries are particularly boost-like. Spirit is a very good example of this. Part of the reason is that when it was accepted, other boost libraries were not yet accepted/sufficiently mature for Spirit to use them. (That's why there are something like 3 Boost libraries that define their own (incompatible) placeholder values _1, _2 and so on).

    In most of these cases, I believe they're gradually working on getting these oddities merged back together. But afaik, Spirit was added because it was such a big and impressive thing, that it's "unboostness" was forgiven. ;)

    ApplePieIsGood : And it is forgiven indeed :)
  • There's no such thing as a Boost style committee. ISO's WG21 will spend a bit more time on common style, but even they managed to forget std::ifstream::ifstream((std::string const& filename)

  • Spirit in Boost may one day be Boost in spirit :-)

  • Simply, Spirit existed before the Boost.Program-Options library. Now, I always use Boost.Program-Options instead of hand-rolling my own using Spirit.

0 comments:

Post a Comment