Boost logo

Proto :

Subject: Re: [proto] looking for an advise
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2010-12-27 15:47:40


Eric Niebler wrote:

> On 12/27/2010 5:26 AM, Joel Falcou wrote:
>> On 27/12/10 11:02, Maxim Yanchenko wrote:
>>> Hi Eric and other gurus,
>>>
>>> Sorry in advance for a long post.
>>>
>>> I'm making a mini-language for message processing in our system.
>>> It's currently implemented in terms of overloaded functions with
>>> enable_if<match<Grammar>> dispatching, but now I see that
>>
>> Dont. this increases copiel time and provide unclear error. Accept
>> anykind of expression adn use matches in a
>> static_assert with a clear error ID.
>>
>>> (a) I'm reimplementing Phoenix which is not on Proto yet in Boost
>>> 1.45.0 (that's
>>> how I found this mailing list). It would be great to reuse what
>>> Phoenix has;
>>
>> Isn't it in trunk already Thomas ?
>
> No, it's still in the sandbox. Maxim, you can find Phoenix3 in svn at:
>
> https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3
>
> According to Thomas, the docs are still a work in progress, but the code
> is stable.
>
<snip>

>> Better see what Thomas has up his sleeves in Phoenix.
>
> Right. Maxim, you are totally correct that you are reimplementing much
> of Phoenix3, and that the extensibility of Phoenix3 is designed with
> precisely these use cases in mind. The only thing missing are docs on
> the customization points you'll need to hook.
>
> Thomas, this is a GREAT opportunity to put the extensibility of Phoenix3
> to test. Can you jump in here and comment?

You are right! We designed phoenix3 for exaclty this use case!
Unfortunately, all that is undocumented at the moment, but what you
describe
should be doable quite easily.
Right now, the only advice i can give is to have a look at all the
different
modules that are implemented.
I will reply the minute the docs are finished ... in the mean time i would
be happy to help finding a solution to your problem.


Proto list run by eric at boostpro.com