Boost logo

Proto :

Subject: Re: [proto] Visitor Design Pattern
From: Joel de Guzman (joel_at_[hidden])
Date: 2010-10-25 05:57:44


On 10/25/2010 12:39 PM, Eric Niebler wrote:
> On 10/24/2010 8:32 PM, Joel de Guzman wrote:
>> On 10/25/2010 8:49 AM, Eric Niebler wrote:
>>> Like "visitor", "actor" comes with lots of baggage that we don't want:
>>>
>>> http://en.wikipedia.org/wiki/Actor_model
>>>
>>> Besides, as these things define algorithms, a name that's a verb would
>>> be better (std::transform, std::accumulate, etc. are verbs).
>>
>> That's a totally different synonym. The actor that I meant is
>> connected to the meaning of "semantic action" and you are using
>> action/actions anyway (as well as grammars and rules). It's the
>> same domain.
>
> Oh. I didn't make the connection between "actor" and "semantic action".
> For me, "actor" is so strongly evocative of concurrent programming that
> I can't read it any other way.

It's the name we use in Spirit for objects that dispatch semantic
actions. What does an actor do: it executes an action for a
particular sub-rule (node).

>>> How about "evaluate":
>>>
>>> proto::evaluate<char_terminal, my_actions>()(a);
>>
>> Hmmm... :P
>
> You're not loving that, either, are you? evaluate_with? with_actions?
> <shrug> They're all terrible. I won't bother the list any more with
> naming issues. Thanks to everybody who contributed ideas to the design
> of the-yet-to-be-named-thingie. Especial Thomas.

evaluate or eval in short is ok. I don't dislike it but
it's not at the top of my list.

Ditto, that's it for me. naming is only productive until a
specific point. After that, it becomes a bike-shed issue.
Any name from our list will do just fine. What's important is
that you've done an amazing work under the hood. So, kudos
to you and Thomas! hats off, sirs!

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net

Proto list run by eric at boostpro.com