Subject: Re: [boost] [phoenix] request for a mini-review. (Re: Phoenix as a Boost library)
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2010-10-14 02:36:55


Eric Niebler wrote:

> On 10/13/2010 8:39 PM, Joel de Guzman wrote:
>> On 10/14/2010 11:22 AM, Edward Diener wrote:
>>> On 10/13/2010 10:50 PM, Joel de Guzman wrote:
>>>> On 10/14/2010 10:41 AM, Edward Diener wrote:
>>>>> I am curious to know if Phoenix will ever be released as a
>>>>> Boost library, or is it meant to be forever coupled with Spirit?
>>>>>
>>>>> I have avoided it because it has never been released separately
>>>>> or had its documentation appear among the list of Boost
>>>>> libraries. I got the impression that it would be released
>>>>> separately, and expected to see it in Boost 1.44, but evidently
>>>>> that did not happen.
>>>>
>>>> Thomas Heller completed the Proto port last July. Now the next
>>>> step is to have a mini-review. Then, Boost integration, IFF it
>>>> passes the mini-review.
>>>
>>> Thanks ! I am sure I am not the only one looking forward to seeing
>>> it as a library of its own, and using it, if it passes the
>>> mini-review.
>>
>> Let us request for a mini-review then. I think it's about time.
>> Thomas? Eric?
>
> The Proto port is done, but in the process of writing docs, Thomas
> realized there were some things about the Phoenix intermediate
> representation that would make extensibility difficult. He's been
> working on it. The design discussion is active on the proto list. (Chime
> in, I'd love your feedback.)

Indeed, I was missing you in the whole discussion Joel :)

> Thomas' suggested design has some nice properties, but (not having yet
> fully wrapped my head around it) I feel that it may be too complex.
> (Thoughts?) Assessing the design and offering suggestions is now my #1
> priority. Hopefully, we'll have a concrete suggestion in the near future.

I hope my last post sched some more light on it.
 
> I should point out that we're talking about fairly minor tweaks at this
> point, not a major redesign or rewrite. But still, I think a mini-review
> would be premature because the customization points are still in flux.

Agreed. It really is only about tweaking the "low level" part of phoenix.
The high level customization point (phoenix::function) is already here.

Although most of the stuff is working already there is still need for some
tweaks:
 - Boost.Bind compatibility is not yet complete (around 90% is done)
 - phoenix::lambda is currently not always working as expected (there are
   some minor bugs that needs to be tackled)