Boost logo

Boost :

Subject: Re: [boost] [Review] Phoenix review starts today, September 21st
From: Joel de Guzman (joel_at_[hidden])
Date: 2008-09-27 21:53:12

Daniel Walker wrote:
> On Sat, Sep 27, 2008 at 8:25 PM, Joel de Guzman
> <joel_at_[hidden]> wrote:
>> Daniel Walker wrote:
>>> On Sat, Sep 27, 2008 at 7:39 AM, Joel de Guzman
>>> <joel_at_[hidden]> wrote:
>>>> While I understand and appreciate the comments raised thus far, I say
>>>> that the review grossly magnifies these aspects while underrating
>>>> the remaining 95% of the library. If you look at:
>>>> Values, References, Arguments, Composites, Lazy Operators, Lazy
>>>> Statements
>>>> Construct, New, Delete, Casts, Operator, Statement, Object, Scope,
>>>> Bind will remain as-is. Only Lazy Functions and Inside Phoenix (the
>>>> extension
>>>> mechanism) will have some changes.
>>>> Please, let's not throw out the baby with the bathwater.
>>> OK, regarding babies in bathwater... :-) Again, throwing Phoenix out
>>> of Boost is not the question. All of the existing functionality is
>>> currently distributed with Boost.Spirit and will remain so. The issue
>>> is where to go next.
>>> I don't want to try to parse what's changed between Phoenix2 and
>>> Phoenix3, but it's important to identify what's being reviewed. So,
>>> just to get a since of the difference, I ran diff -qr on the two
>>> versions and found that of 108 files 43 have been removed and 65
>>> modified. To try to get a sense of the impact of the new Proto
>>> backend, I ran grep -rle 'proto::' on Phoenix3 and found that of 66
>>> files 27 matched, including bind.hpp.
>> I'm sure most folks here will agree that diffing and grepping files
>> do not do justice in assessing the difference from one revision
>> to the next. Only an in-depth perusal will reveal that the structure
>> and design of V2 is essentially the same as V3. I understand if
>> you don't want to go there. But let me just emphasize my point:
>> the majority of the interface, regardless of implementation,
>> from V2 to V3 will remain stable. To me, that is most important.
> I just mean to show that the two versions are different - not the
> structure, design or interface, but the implementation, which of
> course, is also important.

Agreed. The implementation is also *very* important. Is it safe
to say at least that grepping and diffing cannot be considered to
be an in-depth analysis of the implementation?


Joel de Guzman

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