Boost logo

Boost :

Subject: Re: [boost] Library for configuration file parsing
From: Joel de Guzman (joel_at_[hidden])
Date: 2010-11-30 18:46:23

On 12/1/2010 12:54 AM, Marsh Ray wrote:
> On 11/30/2010 01:10 AM, Joel de Guzman wrote:
>> On 11/30/2010 10:09 AM, Marsh Ray wrote:
>>> All I was trying to say was that I could really use a no-fuss,
>>> bulletproof JSON facility
>>> and Spirit seemed like overkill for this simple format.
>> I'd like to convince you otherwise. Spirit is meant to be for such
>> simple to moderate parsing tasks such as parsing complex numbers
>> CSV, arithmetic expressions and definitely JSON.
> OK, I'm up for that. I have a "hard real time deadline" today but am willing to give it
> another go afterwards.
> Perhaps I should email you off-list once I get the project open again in the next day or
> two? Or if others say they're interested we could take it to the -users list.

The Spirit general list is the best forum for this. There are lots of
very helpful folks there. I'm but one of 'em. There's a good chance that
some folks have had the same problems that you faced. See:

>> The stigma of Spirit (and any TMP heavy libraries for that matter)
>> stems from 1) Outrageous error messages and 2) Long compile times.
>> Possibly third would be the steep learning curve, but that may very
>> well be connected to 1 -It's a pain to get past the error messages,
>> I know; one misstep and you'll get tons of undecipherable errors.
> I know. FWIW, I felt like I could get through the template errors reasonably well.
>> That, and the perception of complexity (the black art, if you will),
>> makes it hard for Spirit to be accepted into the mainstream. In
>> reality, beneath the TMP (some say gimmickry), Spirit is actually
>> quite simple.
> Hmmmm... I'm keeping an open mind. :-)
>> What I wish to do is to dispel that image of
>> complexity and make it simple (again as it was in the beginning).
>> That is our new mission.
> I made a generative template system for a lightweight key-record data persistence system
> here at work. The record types are usually updated by someone else...who doesn't even know
> much C++! So I know it can be done.

The thing is, with declarative systems, as soon as you get it working,
(and get past the error messages) it just works!


Joel de Guzman

Boost list run by bdawes at, gregod at, cpdaniel at, john at