Boost logo

Boost :

Subject: Re: [boost] [TypeErasure]
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-07-23 15:30:26


AMDG

On 07/23/2012 11:17 AM, Markus Werle wrote:
> Steven Watanabe wrote:
>
>> AMDG
>
> [*slightly* off-topic: Does that mean Ad maiorem Dei gloriam?]
>

Yes.

>> On 07/22/2012 07:21 AM, Markus Werle wrote:
>>> Hi Steven!
>>>
>>> I have one question: proto and spirit use _1, _2, etc.
>>> TypeErasure uses _a, _b, _c ...
>>> What was your reason to introduce yet another placeholder set?
>>
> http://steven_watanabe.users.sourceforge.net/type_erasure/libs/type_erasure/doc/html/boost_typeerasure/design.html#boost_typeerasure.design.placeholder
>
> I disagree with this decision. You write:
>
>> An earlier version of the library used the names _1, _2, etc.
>> instead of _a, _b, etc. This caused a certain amount of confusion
>> because the numbered placeholders are already used by several
>> other libraries including Boost/Std Bind, Boost.Phoenix, and Boost.MPL.
>
> IMHO the introduction of another set of placeholders is more confusing.
> If we are to discriminate here, we can do it via namespaces - and of course
> one day it is std::_1 for all of us.
>
> Just because your library is the first to use _a, _b, _c

It isn't. Boost.Phoenix uses _a, _b, etc for local
variables.

> what does that mean
> for future (boost) libraries that use some kind of placeholders?
> Do they have to use _aa, _bb, etc.?
> To me placeholders are such a natural concept I do not care about having
> some kind of "deja vu" here. To the contrary: The meaning (placeholder) is
> identical so we should use identical names.
>

It isn't exactly identical. The names _1, _2
carry extra meaning about how they are substituted
which doesn't make sense for my library.

>> I eventually decided that since the placeholders represented named
>> parameters instead of positional parameters, letters were more
>> appropriate than numbers.
>
> Indeed the naming is arbitrary. Starting from the same observation (_1 is
> already available in boost::*) I draw the opposite conclusion:
> Use these names for the sake of symmetry and hope for convergence of
> concepts over the years.
>
> @Review Master: Should I miss the end date for reviews, take this as my mini
> subset of a review: I'd prefer _1, _2 instead of _a, _b.
>

You are of course free to disagree with
my decision, but I'm not going to change it.

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk