Phoenix3 Status update.

Hi, some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3 didn't compile from time time to. I just wanted to inform you that this is over now! Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place! Now ... up to documentation writing and checking for BLL compatibility ... The compilers i tested are: clang 2.8 gcc 4.5.1 gcc 4.2 (this only works with a patch for proto attached to this mail) I appreciate any feedback! I guess we can schedule the review now. Hartmut, does your offer still stand? Regards, Thomas

Thomas Heller wrote:
Hi,
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3
Uups, non working trac link .... here is the correct svn link: https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3
didn't compile from time time to. I just wanted to inform you that this is over now!
Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place! Now ... up to documentation writing and checking for BLL compatibility ...
The compilers i tested are: clang 2.8 gcc 4.5.1 gcc 4.2 (this only works with a patch for proto attached to this mail)
I appreciate any feedback!
I guess we can schedule the review now. Hartmut, does your offer still stand?
Regards, Thomas

On 12/23/2010 12:34 PM, Thomas Heller wrote:
Thomas Heller wrote:
Hi,
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3
Uups, non working trac link .... here is the correct svn link: https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3
didn't compile from time time to. I just wanted to inform you that this is over now!
Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place!
This is really awesome news! Congrats, Thomas. I'm looking forward to using it.
Now ... up to documentation writing and checking for BLL compatibility ...
The compilers i tested are: clang 2.8 gcc 4.5.1 gcc 4.2 (this only works with a patch for proto attached to this mail)
Applied to trunk. Thanks. -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 12/23/2010 9:34 AM, Thomas Heller wrote:
Thomas Heller wrote:
Hi,
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3
Uups, non working trac link .... here is the correct svn link: https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3
didn't compile from time time to. I just wanted to inform you that this is over now!
Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place! Now ... up to documentation writing and checking for BLL compatibility ...
The compilers i tested are: clang 2.8 gcc 4.5.1 gcc 4.2 (this only works with a patch for proto attached to this mail)
I appreciate any feedback!
I guess we can schedule the review now. Hartmut, does your offer still stand?
Regards, Thomas
Great, looking forward to it. Just making a (very) quick browse through the docs. Seems there's a typo in https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/libs/phoenix/doc/h... "Granted, this is not really elegant and not very practical (we could have just used phoenix::begin(v) from the Phoenix algorithm module, but we can do better." Probably should be phoenix::size(v) (or the example should be changed to use begin)...and you're missing a closing parentheses ;) - Jeff

some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3 didn't compile from time time to. I just wanted to inform you that this is over now!
Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place!
That's excellent news and one of the most important things currently happening in Boost!
Now ... up to documentation writing and checking for BLL compatibility ...
The compilers i tested are: clang 2.8 gcc 4.5.1 gcc 4.2 (this only works with a patch for proto attached to this mail)
I appreciate any feedback!
I guess we can schedule the review now. Hartmut, does your offer still stand?
Definitely. Let's do it asap. What about mid January? Regards Hartmut --------------- http://boost-spirit.com

On 12/23/2010 1:28 PM, Hartmut Kaiser wrote:
Thomas Heller wrote:
I guess we can schedule the review now. Hartmut, does your offer still stand?
Definitely. Let's do it asap. What about mid January?
Before it can be effectively reviewed, at least some of the new docs need to be finished. The mini-review was requested because Phoenix needed to be ported to Proto. The Phoenix grammar, intermediate form, evaluators and extension mechanism need to be documented so folks can judge how well the Proto port has been accomplished. It doesn't have to be an elaborate production, but there needs to be something. My 02, -- Eric Niebler BoostPro Computing http://www.boostpro.com

Eric Niebler <eric <at> boostpro.com> writes:
On 12/23/2010 1:28 PM, Hartmut Kaiser wrote:
Thomas Heller wrote:
I guess we can schedule the review now. Hartmut, does your offer still stand?
Definitely. Let's do it asap. What about mid January?
Mid January sounds good. I guess everyone involved needs a little pressure ;)
Before it can be effectively reviewed, at least some of the new docs need to be finished. The mini-review was requested because Phoenix needed to be ported to Proto. The Phoenix grammar, intermediate form, evaluators and extension mechanism need to be documented so folks can judge how well the Proto port has been accomplished. It doesn't have to be an elaborate production, but there needs to be something.
My 02,
The docs are one of my priorities right now. They need a complete work over. But before i tackle the docs I would like to finish the BLL compatiblity tests

On 12/24/2010 8:27 AM, Thomas Heller wrote:
Eric Niebler<eric<at> boostpro.com> writes:
On 12/23/2010 1:28 PM, Hartmut Kaiser wrote:
Thomas Heller wrote:
I guess we can schedule the review now. Hartmut, does your offer still stand?
Definitely. Let's do it asap. What about mid January?
Mid January sounds good. I guess everyone involved needs a little pressure ;)
Before it can be effectively reviewed, at least some of the new docs need to be finished. The mini-review was requested because Phoenix needed to be ported to Proto. The Phoenix grammar, intermediate form, evaluators and extension mechanism need to be documented so folks can judge how well the Proto port has been accomplished. It doesn't have to be an elaborate production, but there needs to be something.
My 02,
The docs are one of my priorities right now. They need a complete work over.
You mean the extension docs, right? The users docs should, by and large should be fine.
But before i tackle the docs I would like to finish the BLL compatiblity tests
It would also be good to grab as much docs from BLL into Phoenix. BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

Joel de Guzman <joel <at> boost-consulting.com> writes:
On 12/24/2010 8:27 AM, Thomas Heller wrote:
Eric Niebler<eric<at> boostpro.com> writes:
On 12/23/2010 1:28 PM, Hartmut Kaiser wrote:
Thomas Heller wrote:
I guess we can schedule the review now. Hartmut, does your offer still stand?
Definitely. Let's do it asap. What about mid January?
Mid January sounds good. I guess everyone involved needs a little pressure
;)
Before it can be effectively reviewed, at least some of the new docs need to be finished. The mini-review was requested because Phoenix needed to be ported to Proto. The Phoenix grammar, intermediate form, evaluators and extension mechanism need to be documented so folks can judge how well the Proto port has been accomplished. It doesn't have to be an elaborate production, but there needs to be something.
My 02,
The docs are one of my priorities right now. They need a complete work over.
You mean the extension docs, right? The users docs should, by and large should be fine.
Yes, the user docs are fine. I want to write more about what phoenix is. That means, what is an expression, how does it get evaluated etc. This would lead naturally to the extension mechanisms there are.
But before i tackle the docs I would like to finish the BLL compatiblity tests
It would also be good to grab as much docs from BLL into Phoenix.
Good idea!
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2. I didn't have time yet to implement that idea. One of the main offenders wrt. preprocessing time are fusion, proto and of course phoenix itself.
Regards,

On 12/24/2010 5:48 PM, Thomas Heller wrote:
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2.
Really? Do you have some numbers? I don't see how preprocessed phoenix3 can be faster than preprocessed phoenix2.
I didn't have time yet to implement that idea. One of the main offenders wrt. preprocessing time are fusion, proto and of course phoenix itself.
At any rate, it would be wise to give this a high priority. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

On 12/26/2010 11:53 PM, Joel de Guzman wrote:
On 12/24/2010 5:48 PM, Thomas Heller wrote:
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2.
Really? Do you have some numbers? I don't see how preprocessed phoenix3 can be faster than preprocessed phoenix2.
I took this to mean that preprocessed phx3 compiled faster that (un-preprocessed) phx2. That means that if fusion, proto and phx3 all used the mpl trick of shipping pre-preprocessed headers, the compile time problems would go away. Thomas, is that what you meant? -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 12/27/2010 1:14 PM, Eric Niebler wrote:
On 12/26/2010 11:53 PM, Joel de Guzman wrote:
On 12/24/2010 5:48 PM, Thomas Heller wrote:
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2.
Really? Do you have some numbers? I don't see how preprocessed phoenix3 can be faster than preprocessed phoenix2.
I took this to mean that preprocessed phx3 compiled faster that (un-preprocessed) phx2. That means that if fusion, proto and phx3 all used the mpl trick of shipping pre-preprocessed headers, the compile time problems would go away.
Thomas, is that what you meant?
In any case, that's awesome! I'm very happy :-) Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

Eric Niebler wrote:
On 12/26/2010 11:53 PM, Joel de Guzman wrote:
On 12/24/2010 5:48 PM, Thomas Heller wrote:
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2.
Really? Do you have some numbers? I don't see how preprocessed phoenix3 can be faster than preprocessed phoenix2.
I took this to mean that preprocessed phx3 compiled faster that (un-preprocessed) phx2. That means that if fusion, proto and phx3 all used the mpl trick of shipping pre-preprocessed headers, the compile time problems would go away.
Thomas, is that what you meant?
Nope, I really meant preprocessed phoenix3 is faster to compile than preprocessed phoenix2 (or at least as fast as phoenix3) last time i checked. This was before the refactoring though. But the refactoring improved compile times ;) I will report real numbers once I am back home on my workstation.

On 12/27/2010 9:19 PM, Thomas Heller wrote:
Eric Niebler wrote:
On 12/26/2010 11:53 PM, Joel de Guzman wrote:
On 12/24/2010 5:48 PM, Thomas Heller wrote:
BTW, what about compile time? Have you had any success with the preprocessor idea? To be honest, my biggest concern is the compile time of V3 phoenix over V2. Compile time is already an issue with Spirit2. Now we'll be adding more on top of it.
Compile time without preprocessing is better than with phoenix2.
Really? Do you have some numbers? I don't see how preprocessed phoenix3 can be faster than preprocessed phoenix2.
I took this to mean that preprocessed phx3 compiled faster that (un-preprocessed) phx2. That means that if fusion, proto and phx3 all used the mpl trick of shipping pre-preprocessed headers, the compile time problems would go away.
Thomas, is that what you meant?
Nope, I really meant preprocessed phoenix3 is faster to compile than preprocessed phoenix2 (or at least as fast as phoenix3) last time i checked. This was before the refactoring though. But the refactoring improved compile times ;)
I will report real numbers once I am back home on my workstation.
If that's the case, then that's a great achievement. You and Eric have done great work on both proto and phoenix. I'd love to see the numbers. I'd also love to see compile tests on real world code (e.g. Spirit code). Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

On 12/24/2010 2:28 AM, Hartmut Kaiser wrote:
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3 didn't compile from time time to. I just wanted to inform you that this is over now!
Phoenix3 is in a stable state once again! All tests from boost.bind are passing! Placeholder unification is in place!
That's excellent news and one of the most important things currently happening in Boost!
Awesome! You are doing an amazing work on this, Thomas. One of the best GSOC project ever. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

Thomas Heller <thom.heller <at> googlemail.com> writes:
Hi,
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3 didn't compile from time time to. I just wanted to inform you that this is over now!
Hi Thomas, Which Boost version is supposed to be used to compile phoenix3? Should it be trunk or it works with 1.45.0? Thanks, Maxim

Maxim Yanchenko wrote:
Thomas Heller <thom.heller <at> googlemail.com> writes:
Hi,
some of you might have noticed that the version of phoenix3 located at https://svn.boost.org/trac/boost/browser/sandbox/SOC/2010/phoenix3 didn't compile from time time to. I just wanted to inform you that this is over now!
Hi Thomas,
Which Boost version is supposed to be used to compile phoenix3? Should it be trunk or it works with 1.45.0?
You need the boost trunk.
Thanks, Maxim
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (6)
-
Eric Niebler
-
Hartmut Kaiser
-
Jeffrey Lee Hellrung, Jr.
-
Joel de Guzman
-
Maxim Yanchenko
-
Thomas Heller