s/type tuple/template pack/g please

dennis luehring dl.soluz at gmx.net
Thu Aug 22 03:32:06 PDT 2013


Am 22.08.2013 12:05, schrieb Regan Heath:
> On Wed, 21 Aug 2013 18:53:06 +0100, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> There's an inordinate amount of confusion around what we currently call
>> "type tuple" (embodied in std's TypeTuple). I've been furious
>> immediately as I got word that Walter called it that way, and it hasn't
>> failed to make everybody else feel the same over the years.
>>
>> So: shall we use "template pack" going forward exclusively whenever we
>> refer to that stuff? That way we can unambiguously use "tuple" for
>> "value tuples, i.e. like mini-structs that group values together".
>>
>> Destroy. I mean criticize.
>
> After reading the thread I think it might help to try to define the
> important characteristics of them, and from that select the key
>
> Using this as a reference to my understanding:
> http://wiki.dlang.org/The_D_Programming_Language/Seq
>
> In particular the section:
> "Q: What's the deal with "auto-expansion"?"
>
> I think .. "type tuples" are:
> - Compile time
> - A kind of (list, set, group, or collection) of (parameters/arguments,
> initialisers, parent classes)
> - Flat i.e. "auto expanded" where used, not nested.
> - An alias for the elements it contains
> - A <thing> in which the ordering is important
>
> I am leaning toward the fact that they are an "alias" being a key
> property, that and the fact that they are a "list" or "set" of things.
> "Sequence" may be even better than list as it imples more heavily that the
> ordering is important.
>
> So, I am personally leaning toward dennis's suggestion of "Alias Sequence".
>
> But, I do worry a little about overloading the term "alias".  However..
> TypeTuple is defined using "alias" so maybe they are the "same thing"
> after all.
>
> R
>

~but~ an "alias sequence" item is different to an alias

an alias can't contain untyped values:

alias x = 5;
alias y = "hallo";

an alias is an real accessible symbol - not just an position in a sequence

or am i wrong here?


More information about the Digitalmars-d mailing list