[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

First comments

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

    #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