Boost logo

Boost :

Subject: Re: [boost] Proposal: Add Loki Library's SafeFormat to Boost:
From: Peter Simons (simons_at_[hidden])
Date: 2009-01-01 15:28:28


Hi Robert,

> I wish [the Spirit team would] appreciate how all this name
> changing makes things much more difficult for us poor library
> users.

others are more qualified to explain the technical rationale behind
those decisions, but my impression is that version 2 of the Spirit
library has been re-designed from ground up. The new API doesn't
look radically different from version 1 (Spirit.Classic), not at
all, but some details changed, so version 2 (Spirit.Qi) is not
entirely backwards compatible. The classic API is still fully
supported in current versions of the library -- you don't have to
upgrade your parsers if you don't want to. If you *do* upgrade your
parsers, however, you'll most likely find that the re-written code
will be simpler, cleaner, and more efficient.

Now, changes that disrupt backwards compatibility are always costly
and should be avoided unless there is a major advantage to be had by
making those changes. My impression is that the advantages Spirit.Qi
offers over Spirit.Classic outweigh those costs.

Once you've decided to change the API, it is only sensible software
engineering to place the modified API into a new namespace. Whether
you call it boost::spiritv2, boost::spirit::v2, or boost::spirit::qi
is a matter of taste and there is no accounting for taste.

As far as I am concerned, the Spirit team does an amazing job at
providing a high-quality parser DSL for C++.

Just my 2 cents,
Peter


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk