[Review] Phoenix review results

Hi all, the Phoenix review is over and I counted 15 votes, 11 of which vote for acceptance and 4 vote for conditional acceptance. Let me explain. All reviewers stated that the outstanding quality of the library and its documentation fully merit immediate acceptance. There is no direct concern with regard to the library itself. Phoenix V2 is already in the Boost distribution as a Spirit sub-library and has matured for a long time, proving its stability and usability. On the other hand, Phoenix provides functionality already covered by Boost.Bind and Boost.Lambda. It is the general intention to use Phoenix as the development ground for a new unified Boost library in this area. The review discussions revealed quite some details and certain problems which have to be resolved for this merger to happen. Joel has a full list of these details and promised to address all of them before adding Phoenix to the Boost SVN. The library authors made clear from the beginning that the review of the current Version 2 of the library is just a stepping stone towards this goal. At the same time Eric Niebler presented a first version of a Proto based Phoenix rewrite (referenced as Phoenix V3). It is the general consensus to use Phoenix V3 as the basis for further development. At the same time Phoenix V3 exposes the same interface as Phoenix V2 and passes all related tests. This review formally was about Phoenix V2, but largely turned out to be a discussion of the future of Bind/Lambda and how Boost should go forward in this direction. Again, the general consensus here is that a) we need a unified approach to bind, lambda, et.al., and b) Boost users need interface stability and minimal disruption. So here is the review result: The quality of Phoenix warrants immediate acceptance into Boost. OTOH, adding Phoenix to Boost as is introduces yet another library dealing with functional idioms. This possibly increases the confusion around the fact which of the libraries to use, etc. The goal should be to have a clear integration of, and migration path from the existing Boost.Bind and Boost.Lambda libraries before final addition of Phoenix to Boost. We will have a mini review before Phoenix gets merged to SVN to make sure whether the feedback from the v2 review was accommodated. Additionally this review will have to discuss: - the breaking interface changes from v2 - the migration path from boost::bind and lambda to Phoenix - how the interoperability with std::bind is solved (result_of semantics) - C++0x features such as rvalue references and variadic templates - the new extensibility mechanism - unified placeholders and interoperability issues with other Proto-based DSELs (such as Spirit.Qi, Spirit.Karma, and Xpressive) - compile times In general, the review was valuable for what it accomplished. It moved us closer towards a unified Boost library in the domain of functional programming idioms. Thanks to Joel and Dan for the high quality submission and to all participating the discussion for their valuable insights! Regards Hartmut Review Manager

Hartmut Kaiser wrote:
In general, the review was valuable for what it accomplished. It moved us closer towards a unified Boost library in the domain of functional programming idioms. Thanks to Joel and Dan for the high quality submission and to all participating the discussion for their valuable insights!
Thank you Hartmut for managing the review. Thank you all who participated in the review, those who joined in the discussions, and especially those who gave full reviews. It was a very fruitful 2 weeks. It's a good chance to learn more about what the community wants. As Hartmut says, it's more about the future than the past and present. Indeed, that's how I envisioned the review. Regardless of the outcome, I was determined to improve Phoenix. As with Spirit and Fusion, it's a work of love. It's very encouraging to see that it has now become an official Boost library, after many years as a sub-library under Spirit. I did believe that it merited the Boost status. I also knew that the review will be tough due to it's unique position in the midst of excelent libraries like Lambda and Bind, not to mention other FP libraries like FC++ and newer libraries, like Egg. Now it's time to grab a beer and celebrate :-) Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

On Sun, Oct 5, 2008 at 1:12 AM, Joel de Guzman
....Regardless of the outcome, I was determined to improve Phoenix. As with Spirit and Fusion, it's a work of love.
It is a pleasure to read someone writing about their programming work with emotion and passion. Too often, as a community and as a profession, we write in an objective, professional style and fail to convey the pleasure we take in our work, and how much of ourselves we invest in it. To read someone of Joel's stature doing this can only be an encouragement to choose computers and programming as a rewarding profession. Oh, and congrats! As you say the bar on FP libraries is pretty darned high! - Rob.
participants (3)
-
Hartmut Kaiser
-
Joel de Guzman
-
Robert Jones