
On Mon, Sep 29, 2008 at 12:06 PM, Eric Niebler <eric@boost-consulting.com> wrote:
Daniel Walker wrote:
As I understand Joel's proposal he intends to never release V2 as a top-level library but instead release V3 as an upgrade to Boost.Lambda. That's certainly a good way to go, and I support it. But if that's the case, let's review V3 when it's ready for review rather than giving our stamp of approval to V2. Again, there are several reasons V2 should remain in Boost.Spirit and not become a top-level library: yet another incompatible bind, yet more incompatible placeholders, etc. But there is every reason that V3 should eventually become the top-level replacement of Boost.Lambda: extendability via Proto, compatibility (at last) between lambda, bind, std::placeholders, etc. So though I vote no on accepting V2 as a top-level library, I support the plan and look forward to the actual final product.
I think your points are valid. IMO, a full (re-)review of v3 would largely cover the same ground as the current v2 review. Perhaps as a compromise, we could wind up the v2 review with a basic yea or nea. If we agree we want phoenix, we can put phoenix v3 up for a mini-review before it is merged to trunk. The review would focus on:
- Whether the feedback from the v2 review was accommodated - The new extensibility mechanism - The breaking interface changes from v2 - The migration path from lambda to phoenix - Interoperability with boost::bind and std::bind - Interoperability with other Proto-based DSELs - Compile times
I see phoenix v3 as a hugely important step toward Boost's DSEL unification, so I'm generally in favor of getting more eyes on it before it's shipped.
This sounds reasonable to me. Could I vote for acceptance on the condition of passage of a final code review prior to release? In other words, release of the final V3 would be subject to a formal review and a consensus vote that everything is good to go. Replacing Boost.Lambda is a big enough deal to merit two reviews, actually. Daniel Walker