$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Review] Phoenix review starts today, September 21st
From: Daniel Walker (daniel.j.walker_at_[hidden])
Date: 2008-09-27 21:32:58
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:
>>> http://tinyurl.com/4y47z7,
>>> 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.
Daniel Walker