This page is part of the web mail archives of SRFI 25 from before July 7th, 2015. The new archives for SRFI 25 contain all messages, not just those from before July 7th, 2015.
Per Bothner writes: > Not sure what you mean, but it sounds wrong. Instead we should > follow logic and Common Lisp (or at least let implementations have > that option): (vector? obj) should imply (array? obj). I was just trying to see how that could be implemented on top of R5RS vectors, given disjoint types. By all means let us allow implementations to make vectors a subtype of arrays. I have doubts about requiring them to do so - would they? You might, I see, but somebody else might refuse the whole package on that account. But it seems like the details should be worked out, just to be sure. My feeling is that arrays can live happily either joint or disjoint with vectors, but if joint, then it must be clean both ways, so that all zero-based one-dimensional arrays are vectors, and vectors must be sharable just like any array. > The reverse would be true if you take the view that arrays are > nested vectors, I don't. I think of arrays as maps from indexes to locations. Nesting of vectors is an implementation detail, and not quite compatible with the present proposal. > It also is difficult to distinguish a 0*M array from a 0*N array [...] > That is unless you can associate "types" with empty vectors. Some > APL dialects to that, and it gets a little strange. Shapes are just such types, I think. -- Jussi