[Review] Phoenix V3: mini-review starts February 19th

Hi List, Phoenix V3 is nearing its completion. With the port to Boost.Proto we tried to address the outstanding issues of the review and would like to announce that the mini-review will start on February 19th. Feel free to preview the code at: https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/ and the documentation at: http://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/libs/phoenix/doc/ht ml/index.html We are currently occupied with code cleanups and finishing of the documentation. The code itself is in a stable condition, feel free to make yourself comfortable with this new library. Regards Hartmut Phoenix V3 Review Manager --------------- http://boost-spirit.com

On 2/1/2011 8:43 AM, Hartmut Kaiser wrote:
Hi List,
Phoenix V3 is nearing its completion.
With the port to Boost.Proto we tried to address the outstanding issues of the review and would like to announce that the mini-review will start on February 19th.
Feel free to preview the code at:
https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/
and the documentation at:
http://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/libs/phoenix/doc/ht...
We are currently occupied with code cleanups and finishing of the documentation. The code itself is in a stable condition, feel free to make yourself comfortable with this new library.
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere. -- Eric Niebler BoostPro Computing http://www.boostpro.com

Eric Niebler wrote:
On 2/1/2011 8:43 AM, Hartmut Kaiser wrote:
Hi List,
Phoenix V3 is nearing its completion.
With the port to Boost.Proto we tried to address the outstanding issues of the review and would like to announce that the mini-review will start on February 19th.
Feel free to preview the code at:
https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/
and the documentation at:
http://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/libs/phoenix/doc/ht...
We are currently occupied with code cleanups and finishing of the documentation. The code itself is in a stable condition, feel free to make yourself comfortable with this new library.
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...

On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks. -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role. Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com

Joel de Guzman wrote:
On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role.
I agree and I am working hard to address this topic.
Regards,

On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role.
I fully agree. Thomas promised to have the docs finished by then. We decided to be rather aggressive in terms of scheduling a) as we recognize the need for having Phoenix available asap, and b) to put some pressure onto Thomas :-P Thomas and I understand that if the docs won't be ready we will have to cancel the mini-review. Regards Hartmut --------------- http://boost-spirit.com

On 2/1/2011 7:28 PM, Hartmut Kaiser wrote:
On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role.
I fully agree. Thomas promised to have the docs finished by then. We decided to be rather aggressive in terms of scheduling a) as we recognize the need for having Phoenix available asap, and b) to put some pressure onto Thomas :-P
Fully complete docs would be awesome. Short of that, how about shooting for just giving people enough to talk about? A brief description of the directions in which Phoenix can be extended and some code examples demonstrating what it would look like. I think that would be enough to give the idea and let the review proceed.
Thomas and I understand that if the docs won't be ready we will have to cancel the mini-review.
Say "reschedule", not "cancel". :-) And thanks for all your hard work, Thomas. -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 2/1/11 8:38 PM, Eric Niebler wrote:
On 2/1/2011 7:28 PM, Hartmut Kaiser wrote:
On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role.
I fully agree. Thomas promised to have the docs finished by then. We decided to be rather aggressive in terms of scheduling a) as we recognize the need for having Phoenix available asap, and b) to put some pressure onto Thomas :-P
Fully complete docs would be awesome. Short of that, how about shooting for just giving people enough to talk about? A brief description of the directions in which Phoenix can be extended and some code examples demonstrating what it would look like. I think that would be enough to give the idea and let the review proceed.
Thomas and I understand that if the docs won't be ready we will have to cancel the mini-review.
Say "reschedule", not "cancel". :-) And thanks for all your hard work, Thomas.
I second that. Thomas, you are our hero! Hartmut, thank you too for managing the continuing Phoenix review! Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

Eric Niebler wrote:
On 2/1/2011 7:28 PM, Hartmut Kaiser wrote:
On 2/1/2011 5:59 PM, Eric Niebler wrote:
On 2/1/2011 1:30 PM, Thomas Heller wrote:
Eric Niebler wrote:
Very exciting! Where are the extensibility hooks documented? I don't see that in the documentation anywhere.
That is the part that still needs to be documented ...
I don't see how we can do the mini-review until that part is documented. After all, Phoenix was accepted only pending the mini-review primarily because it needed those extensibility hooks.
It is my understanding that the extension does will be ready by the time we have the mini review. If not, then I have to agree with Eric and postpone the review. The extension mechanism is a crucial part of Phoenix and one that sets it apart from Lambda. We should not diminish its role.
I fully agree. Thomas promised to have the docs finished by then. We decided to be rather aggressive in terms of scheduling a) as we recognize the need for having Phoenix available asap, and b) to put some pressure onto Thomas :-P
Exactly. Additionally, I have more time the next weeks cause my semester is just ending right now. I can assure i can address all open issues left.
Fully complete docs would be awesome. Short of that, how about shooting for just giving people enough to talk about? A brief description of the directions in which Phoenix can be extended and some code examples demonstrating what it would look like. I think that would be enough to give the idea and let the review proceed.
I am not sure where to begin ... At first, we have the extension point which was always there, that is phoenix::function, it can be used to make your PFOs lazy. Additionally, the mechanism to add other expression template generators and to handle their evaluation is rather straightforward. Examples for that may be found in the object and statement module. The reason these mechanisms aren't documented yet is that I have the agreement with Joel de Guzman to ease out the exposure to proto on that part. But the stuff and mechanisms in place will continue to work. There will be two layers of "proto exposure". The first will require no knowledge of proto, but of course is limited in functionality. The second will be the "raw" proto interface, allowing the user to use all of the power provided by proto. The second layer exposes the most powerful new feature of phoenix: External Actions These allow you to basically change the complete semantic of phoenix without changing any line in the phoenix itself. In fact, the default evaluation is handled that way, and you can replace these actions by using the "raw" proto layer. Examples are the defaul_actions itself, and there is the is_nullary action, which calculates the wether an actor is nullary or not. Inside the scope module, there is an example on how to replace the is_nullary action by another one. I will provide a better example for that! Please be patient ;) Also, please forgive the handwavy explanations above ;) Last but not least, there are additional customization points: - is_custom_placeholder and custom_placeholder: Used to handle wrapper classes, and example on how to use it is found at boost/phoenix/core/reference.hpp - boost::is_placeholder: This is the placeholder unification! Phoenix can now handle all custom placeholders without much hassle (yes, including the placeholders defined for boost.bind and boost.lambda). An example on how to use it can be found at libs/phoenix/test/boost_bind_compatibility/bind_placeholder_test.cpp
Thomas and I understand that if the docs won't be ready we will have to cancel the mini-review.
Say "reschedule", not "cancel". :-) We will make it in time! Promise! And thanks for all your hard work, Thomas.
You are welcome! Besides, credit where credit is due, Phoenix V3 wouldn't have been possible without Joel de Guzman and you Eric!
participants (4)
-
Eric Niebler
-
Hartmut Kaiser
-
Joel de Guzman
-
Thomas Heller