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