This page is part of the web mail archives of SRFI 47 from before July 7th, 2015. The new archives for SRFI 47 contain all messages, not just those from before July 7th, 2015.
Prototypes: Are the prototype arrays actually arrays, or are they only usable as the first argument to MAKE-ARRAY? For example: Is (at1 #t) the same as #At(#t), or is it an opaque object? How are these prototypes superior to writing (make-array #At(#t) 10) or (make-array #At() 5)? Why does ARRAY-SET! break from the parameter order of VECTOR-SET!? Compare: (array-set! a obj k) vs (vector-set! a k obj). While putting the new value last is somewhat easier to implement, the "switched" interface seems error-prone to me. Why #At(...) and not #At1(...)? All other prototypes mirror the spelling of the syntactic form. Either put the type width in the syntactic form (i.e., #At1) or omit it from the prototype (i.e., AT). What does the syntactic form of a multiple-rank array look like? If I understand correctly, a two-rank heterogeneous array would look like this: #2A((a1 a2 a3) (b1 b2 b3) (c1 c2 c3) (d1 d2 d3)) Some examples would help to clarify this. Why #A\ for character arrays? Seems non-intuitive to me. I would prefer #As (string), #Ac (character), or #At (text). Unfortunately, all of those are already taken by the other forms. -- Bradd W. Szonye http://www.szonye.com/bradd