Mark H Weaver <m...@netris.org> writes: > David Kastrup <d...@gnu.org> writes: >> Scheme/Guile vectors are fixed size. [...] It is a bit of a nuisance >> that one can grow a hashtable efficiently and on-demand, but not so an >> array. > > Although Scheme vectors should remain fixed-size for reasons I have > given elsewhere in this thread, Guile also includes a more complex > 'array' type that includes features such as arbitrary rank (i.e. number > of dimensions), arbitrary lower bounds (not just 0), and shared views on > the same underlying array with arbitrary affine mappings of indices. > > Guile 'arrays' cannot currently be resized, but I see no good reason for > this limitation. They are already quite complex, and already require a > second level of pointer indirection. > > What do other people think?
Another complex type, this time with quite more serious memory and performance impact, that can't be implemented on top of a simple resizable common primitive and has an almost, but not quite, overlapping underlying feature set? It's almost as if you _like_ not being able to reuse code. -- David Kastrup