On 12/28/2010 11:43 AM, Thomas Heller wrote:
> Eric Niebler wrote:
> 
>> On 12/28/2010 5:39 AM, Thomas Heller wrote:
>>> I just saw that you added functional::at.
>>> I was wondering about the rationale of your decision to make it a non
>>> template.
>>> My gut feeling would have been to have proto::functional::at<N>(seq)
>>> and not proto::functional::at(seq, N).
>>
>> Think of the case of Phoenix placeholders, where in the index is a
>> parameter:
>>
>>   when< terminal<placeholder<_> >, _at(_state, _value) >
> 
> vs:
> 
> when<terminal<placeholder<_> >, _at<_value>(_state)>

Have you tried that? Callable transforms don't work that way. It would
have to be:

 lazy<at<_value>(_state)>

Blech.

>> For the times when the index is not a parameter, you can easily do:
>>
>>   _at(_state, mpl::int_<N>())
> 
> vs:
> 
> _at<mpl::int_<N> >(_state)
> 
> just wondering ... the second version looks more "natural" and consistent

Still think so?

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to