[phoenix 3] Review

I have been anticipating this mini-review since the Phoenix V2 review results were first announced. I am a heavy user of Phoenix and am excited to see it take it's place as a first class citizen. Thomas has done an excellent job at surpassing the requirements for the review and making Phoenix an extensible FP tool. Executive Summary: Phoenix 3 has meet the requirements and should be moved to the trunk for integration. ----- The initial review concluded with the following main points needing to be addressed in the mini-review. - 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 Thomas has addressed all of the above points; however, I would like to see two of them "documented" differently. o The Phoenix documentation should have a "What's New" section such as Spirit does. It can tersely represent the improvements, changes and most of all breaking-changes. o Compile time is often a concern with libraries that make heavy use of expression templates. While I personal don't care much about the subject, I also don't see an objective way to determine if it is better or worse with subsequent releases. Adding a compile time test would be ideal. This should be easily invoked and results from various compilers reported within the documentation. ----- Not on the list of items to review: o At some point there should be a runtime benchmark added. o Minor doc diffs attached o function.qbk : factorial.cpp is missing o BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG bottom of page has TBD for the Example Thank you Thomas and the Phoenix team for such a wonderful library! michael -- Michael Caisse Object Modeling Designs www.objectmodelingdesigns.com

On Thursday, March 03, 2011 10:49:13 AM Michael Caisse wrote:
I have been anticipating this mini-review since the Phoenix V2 review results were first announced. I am a heavy user of Phoenix and am excited to see it take it's place as a first class citizen. Thomas has done an excellent job at surpassing the requirements for the review and making Phoenix an extensible FP tool.
Executive Summary: Phoenix 3 has meet the requirements and should be moved to the trunk for integration.
-----
The initial review concluded with the following main points needing to be addressed in the mini-review.
- 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
Thomas has addressed all of the above points; however, I would like to see two of them "documented" differently.
o The Phoenix documentation should have a "What's New" section such as Spirit does. It can tersely represent the improvements, changes and most of all breaking-changes.
Agree, this probably is a good idea.
o Compile time is often a concern with libraries that make heavy use of expression templates. While I personal don't care much about the subject, I also don't see an objective way to determine if it is better or worse with subsequent releases. Adding a compile time test would be ideal. This should be easily invoked and results from various compilers reported within the documentation.
Good idea!
-----
Not on the list of items to review:
o At some point there should be a runtime benchmark added. Yes, that would be a great addition.
o Minor doc diffs attached Thanks, applied. o function.qbk : factorial.cpp is missing Added o BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG bottom of page has TBD for the Example Still need to find a suitable example :)
Thank you Thomas and the Phoenix team for such a wonderful library!
Michael, thanks for the review and your input!
michael

On 3/3/2011 5:49 PM, Michael Caisse wrote:
I have been anticipating this mini-review since the Phoenix V2 review results were first announced. I am a heavy user of Phoenix and am excited to see it take it's place as a first class citizen. Thomas has done an excellent job at surpassing the requirements for the review and making Phoenix an extensible FP tool.
Executive Summary: Phoenix 3 has meet the requirements and should be moved to the trunk for integration. [...]
Thank you Thomas and the Phoenix team for such a wonderful library! michael
Thank you for your review, Michael! Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com
participants (3)
-
Joel de Guzman
-
Michael Caisse
-
Thomas Heller