Wait, what? What is AliasSeq?

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Tue Jul 14 14:24:38 PDT 2015


On 7/14/15 5:13 PM, Mike wrote:
> On Tuesday, 14 July 2015 at 14:06:04 UTC, Andrei Alexandrescu wrote:
>
>> STL's "sequential containers" do not have serial dependence on items.
>> There, "sequential" is meant as a converse of "associative".
>
> Indeed, but the term "sequence" has existed long before the STL authors
> (mis)used it.  Actually, 3 of the 5 main "sequence containers" *are*
> sequences.  The other 2, vector (which is another name that has always
> bothered me) and array, are really best described as a random-access
> containers, but the authors probably didn't want to split hairs and make
> another category.

All this is more proof it comes down to a judgment call. Yeah, vector is 
probably a bit off,

> My interpretation of the word "list" both in and out of the CS domain
> jives with random access.

Well mine doesn't.

> Consider a stream.  I define it to be truly a
> "sequence" of bytes, specifically because of its serial nature.  I would
> definitely *not* define it as a "list" of bytes.
>
> When we say "these items must be accessed in sequence", we imply that
> Item(n+1) should be accessed only after Item(n) is accessed.

I'm not seeing much of that assertion at 
https://en.wikipedia.org/wiki/Sequence or really wherever 
https://www.google.com/search?q=sequence takes you.

> In our nomenclature, we should probably look more to the origin of
> terms, and their usage in other domains, than their (mis)use in the CS
> domain, especially C++.

I disagree. Context, affinity, and familiarity are important. It is no 
secret that the design of D has had C++ as a major influence, and the 
design of Phobos has had STL as a major influence. Defining the "right" 
terminology will take us from one imperfect nomenclature to another 
imperfect one, just less familiar one.

Let's drop it. Again: arguments base on purity and precision of widely 
used terms are futile.


Andrei



More information about the Digitalmars-d mailing list