DIP54 : revamp of Phobos tuple types

monarch_dodra monarchdodra at gmail.com
Mon Dec 23 05:13:12 PST 2013


On Monday, 23 December 2013 at 12:25:55 UTC, Dicebot wrote:
> On Monday, 23 December 2013 at 12:03:05 UTC, ilya-stromberg 
> wrote:
>> Can we add alias for `auto-expansion TypeTuple` and add link 
>> to the previous documentation like this:
>>
>> alias ExpandedTemplateArgumentList(T) = 
>> TemplateArgumentList!(T).expand;
>>
>> It looks like it can fix all objections here.
>
> What is this supposed to give over just using .expand directly? 
> I have not seen a good rationale that justifies it among 
> existing objections, probably have missed it.

It allows doing a simple 
's/TypeTuple/ExpandedTemplateArgumentList/'

Using "TemplateArgumentList!(T).expand" is a "much" more involved 
transition: It's not just a simple rename.

Personally, I'd prefer the name "TemplateArgumentList" be 
"PackedTemplateArgumentList". By doing this, the "duality" of:
* ExpandedTemplateArgumentList
* PackedTemplateArgumentList

Will mean there will be absolutly *no* ambiguity in which is 
being used and how, and keep surprises to an absolute low. It 
keeps things explicit, and doesn't force a "default" behavior on 
the programmer: The programmer makes the choice all the time.


More information about the Digitalmars-d mailing list