3
$\begingroup$

Vectors can refer to either expandable array data structures of elements, for example std::vector, or to a SIMD vector type, which is typically fixed-sized and permits one instruction to act on all of the values at once.

What should refer to? Ambiguous tags are frowned upon. My vote is using for the former and and/or a new or similar tag for the latter. Any objections or thoughts?

$\endgroup$

2 Answers 2

5
$\begingroup$

Delete it

As I mentioned in chat, questions should either be tagged or .

$\endgroup$
1
  • $\begingroup$ It's probably worth also noting that avoiding a vector tag also avoids confusion with native support for mathematical vectors. $\endgroup$ Commented May 18, 2023 at 1:45
2
$\begingroup$

should be for mathematical vectors

This is the only sense of "vector" that isn't more clearly expressed in a different way. There might not yet be any relevant questions for that concept, but I don't see a reason to outlaw it preemptively. I can easily imagine someone wanting to design a programming language that has native support for a data type that behaves like a mathematical vector, not to mention that language's standard library.

is good enough for SIMD stuff

Because really, what other things do you use in SIMD besides what it calls "vectors"?

is the clearest term for the other thing

Other languages/ecosystems refer to this concept as "vector" (as noted) or "list"; but these terms are ambiguous. You already noticed the problem with "vector"; "list" can also mean a linked list (and often does). By contrast, "array" can't realistically mean anything that isn't a sequence of "real" (i.e., not determined on the fly) values that are actually stored sequentially in memory (although they might be indirected), offering random access.

However, "array" by itself carries a strong connotation of pre-sized storage without any book-keeping information for the size (as in C, for example). I propose to use to mean such an array of a fixed size; and to mean what Python calls a list, C++ calls a vector, etc.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .