Re: Nomenclature Lassi Kortela 08 Oct 2020 12:50 UTC

> If you think of Emacs buffers, yes.

Fair enough.

> The problem with "vector" is that the data type described by SRFI 214
> behaves more like a list than a vector. It's not "conceptionally the
> same as a vector"! So while one may not initially know what a "buffer"
> is, at least it does not lead to false connotations when one looks at
> the existing zoo of Scheme types.

Do you mean closer to a list as in, growing it is cheap?

When I think of vector vs list, the first things that come to mind are:

* O(1) lookup (or O(log n) if implemented as a tree)
* The "spine" of a vector that holds the elements together is exposed as
a single indivisible object to the user, whereas the spine of a list is
exposed as individual pairs which also exist independently of the list.

In these senses, a flexvector is closer to a vector than a list.

I'm also biased by my Common Lisp background; CL vectors can grow.