
Daniel Walker wrote:
On Mon, Sep 29, 2008 at 12:06 PM, Eric Niebler <eric@boost-consulting.com> 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
Daniel Walker wrote: 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.
I'm in favor of a second review. I think that's a reasonable solution. I slept after reading Giovanni's post, which I though was the hardest to answer: Giovanni Piero Deretta wrote:
So, assuming that phoenix will be accepted, on what will be based as the first official phoenix release in boost? On the current implementation (with minor improvements like result_of compatiblity) or on a proto-based variant (like phoenix v3).
In the first case it means that when-if a proto based is available, it might break compatibility with any eventual user extensions.
In the second case it is a bit tricky for a reviewer point of view, because part of the library under review (notably the extension hooks) is not what will end up in boost.
Even if the second point were the adopted solution, I would still vote in favor of Phoenix because, seeing the precedents, I would trust Joel to come up with a good implementation, but I think it would be a bit against the spirit of a boost review.
Note that I think that the extension interface (and its documentation) is the most important part of Phoenix because, IMHO, it is where the "added value" with respect to boost.lambda lies.
The best solution would be that the implementation that goes into boost will be based on proto *and* will retain more or less the same extension interface.
I didn't have an answer and to be honest, he's right! I couldn't answer this one because I do not have a detailed road-map as to how the extension mechanism would be supported in the post V2 world: the proto rendition. While the interface remains mostly stable, the extension interface is the part that gets the biggest hit from the proto port. The current proto version of the extension is admitedly not good enough. And I do agree with Giovanni that it is, at least, one of the most important parts of Phoenix. Eric's proposal solves this dilemma. I'm all for a second review. The review has proven to be sooo productive. I'm very pleased with the amount of feedback that it has generated. I enjoy reading each post and comment from such highly intelligent people and I want to have more of it, just to make sure that we are on the right track. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net