Wait, what? What is AliasSeq?

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 8 02:13:25 PDT 2015


On Wednesday, 8 July 2015 at 08:59:15 UTC, deadalnix wrote:
> On Wednesday, 8 July 2015 at 08:53:52 UTC, Martin Nowak wrote:
>> On Wednesday, 8 July 2015 at 01:26:22 UTC, rsw0x wrote:
>>>> A sequence of aliases, personally I think it is a much 
>>>> better name. But maybe seq could be replaced with something 
>>>> else, though I don't really mind seq. AliasList seems a 
>>>> little bit better.
>>>
>>> it's far closer to a tuple, list, or array than a sequence.
>>
>> Mmh, TypeTuple had 2 problems, it didn't solely consist of 
>> types, and the term tuple is overloaded by value tuples.
>> But indeed AliasTuple would be descriptive name IMHO.
>
> Tuples are not expected to auto unpack either.

Yeah. Every name sucks. Alias seems to solve the first half of 
the name reasonably well, but nothing that anyone has come up 
with really solves the second half.

TypeTuples/AliasSeqs/Whatever really aren't tuples, because they 
don't nest, and they auto flatten (which pretty much no who has 
dealt with tuples before is going to expect from a tuple). So, 
tuples really gives the wrong impression, but it has the 
advantage of implying that it holds a heterogenous group of 
items, whereas pretty much anything else risks implying that it 
holds a homogeneous list of items.

Array (as Andrei has suggested) is already a very overloaded term 
in D, and it implies a runtime data structure, which this isn't. 
Certainly, when folks think of arrays, they're not going to think 
of anything like TypeTuple/AliasSeq.

List is by far the most generic, but it doesn't imply 
indexability, so Walter doesn't like - though Seq doesn't imply 
indexability either, so if that's his complaint, I don't see how 
it makes much differences whether we go with List or Seq. They 
seem pretty interchangeable to me.

Has anyone come up with anything other than Tuple, Array, List, 
or Seq? Simply throwing an "s" on the end like they did with 
Arguments? Then we have Aliases. I doubt that that's a good idea, 
but it would be an option.

As far as I can tell, _all_ of our options suck for one reason or 
another. If I had to pick, I'd pick List, simply because it's the 
most generic, and there won't be anyone complaining about what 
Seq might mean if they don't grok that it's Sequence, but it 
seems like no matter what we pick, there's going to be 
complaining.

- Jonathan M Davis


More information about the Digitalmars-d mailing list