Jussi Piitulainen <xxxxxx@ling.helsinki.fi> writes: > S.H.M.J. Houben wrote on Mon, 2001 Nov 12: [ ... ] > > Interesting proposal. > > 2. I don't think array-dimensions is a good name. I would [...] > > what about calling it array-number-of-dimensions ? > > Too unwieldy. I'd rather call it haulong. What about array-dim? Or > array-rank again, though somebody used to oppose that (because matrix > rank is something else altogether). "Array-dimensionality" ? I still prefer array-rank, not believing that many will confound it with matrix rank. "Rank" is used to specify the number of dimensions of a tensor, without any confusion. > > 3. I don't like the shape format. It is logically a list of pairs: [ ... ] > Also, (shape 0 4 0 4) does not get more complicated when an individual > index expression gets more complicated. List structure would really > favour constant bounds. Compare > > (shape b (* 2 e) b (+ e 1)) > (list (list b (* 2 e)) (list b (+ e 1))) One would typically write `((,b ,(* 2 e)) (,b ,(+ e 1))) which is only a little less perspicuous than the (shape ...) example. > and also notice that the very word "shape" there communicates intent > to the reader, while "list" does not. "Shape" is a very generic sort of word, likely to be used in other contexts -- did you consider "array-shape" ? > > 4. Apparently arrays are supposed to be disjoint from vectors. > > This could be made more explicit. Also, this means that even > > 1-dimensional 0-based arrays are disjoint from vectors? > > Hm. Maybe that should be more explicit. Yes, I think they are best > disjoint. Array-ref and friends might be able to access vectors > transparently, with runtime cost, but I would not want to ask > implementors to make vector-ref and friends able to access certain > kinds of multidimensional arrays. They might just refuse. Nevertheless, using the array functions with vector arguments can be very convenient, could disjointness from vectors (and even strings) be left unspecified?