On Tuesday, 7 July 2015 at 22:22:02 UTC, Walter Bright wrote:
On 7/7/2015 2:20 PM, David Nadlinger wrote:
On Tuesday, 7 July 2015 at 21:15:40 UTC, Andrei Alexandrescu wrote:
So I thought we were supposed to replace bad names with good names. Template
arguments are indexable, so "sequence" doesn't quite apply.

Apparently Walter was opposed to using List, as that would somehow imply "linked
list".

I opposed it because lists are not indexable, and tuples are.

Linked lists are not indexable, but the term list doesn't necessarily imply that it's a linked list. The term list just means that you have a group of items in linear order. In fact, if you're looking for a generic name for any kind of linear group of items (be it a linked list or an array or whatever), I would think that list is about as generic as you get. And it says nothing about indexability one way or the other.

The core problem here is that the thing that we're trying to name here is too much of a hodgepodge of different things to name it well. It's not really a tuple, since it's not nestable, but list and sequence are kind of odd names too, because in programming, with almost everything other than a tuple, you expect all of the items in the structure to be the same type, which isn't the case here.

Going with Alias seems to solve the problem of whether it holds types or values or symbols well. It also deals well with whether it's used for arguments or parameters or something else. So, I think that going with Alias is a good move.

As for Seq, it's kind of ugly, but if understand that it's Sequence, I think that that fits well enough. Personally, I'd prefer List over Seq, but if you're vetoing List, then I don't know what else we're going to go with. _Nothing_ fits perfectly. TypeTuple/AliasSeq/Whatever is just too unique and too much of a hodgepodge for any name to really well.

- Jonathan M Davis

Reply via email to