3 ms·
> Boost Spirit, a powerful parsing library I regularly use Boost Spirit as an example of "sounds good but actually a nightmare", and am always surprised to see
by xyzzy_plugh 7y ago
> Boost Spirit, a powerful parsing library
I regularly use Boost Spirit as an example of "sounds good but actually a nightmare", and am always surprised to see it mentioned in the wild. It is truly a modern horror.
Boost is like Apache -- a collection of libraries of various quality and stage of development, not all alike. A lot of stuff in there is designed to prove out experimental language features ahead of the next standard revision. A lot of that stuff is convenient, but a complexity nightmare under the hood.
For your own sanity, and of those you care about, don't accept all of Boost equally. Be suspicious, and treat each package as if it were some random library you found on the internet.
(There are of course tons of great things in Boost, but tread carefully)
- ncmncm 7y agoYou won't catch me arguing in favor of using Spirit. In general, it is rarely a good idea to rely on a library you don't understand. But Boost has serviceable variant, option, and result types.
- jcora 7y agoYeah the issue is whether the language makes it easy to use them on all levels from syntax and features (simple constructors, pattern matching) to use in the stdlib and wider community
- jcelerier 7y ago> I regularly use Boost Spirit as an example of "sounds good but actually a nightmare", and am always surprised to see it mentioned in the wild. It is truly a modern horror. huh, I have written a few parsers (half a dozen maybe ?) with spirit and absolutely don't regret it - why would you say that ?