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

#\a octothorpe syntax vs SRFI 10



I believe that this was brought up on the SRFI 47 mailing list, but it
seemed to have been ignored, as SRFI 47's array syntax was removed and
punted to this SRFI.  I therefore again propose to change the array
syntax to use SRFI 10's #,(constructor ...) device, rather than
introducing a multitude of new another new octothorpe reader syntax
characters for arrays.  In particular, I suggest that it be:

  #,(ARRAY [<rank>] <type> <elements> ...)

So, for example, the two-by-two array of unsigned 16-bit integers from
the document might be written as #,(ARRAY 2 u16 (0 1) (2 3)).  General
object arrays' types would be OBJECT (so #(FOO 1 #T ()) could also be
written #,(ARRAY OBJECT FOO 1 #T ())) and character arrays' types would
be CHAR (so "foo" could alternatively be written #,(ARRAY CHAR #\f #\o
#\o)).

For details on the rationale of this change, see the pre-finalization
(note 'pre!') discussion archive of SRFI 4 and the rationale section of
SRFI 10.

(I'd also prefer that the names be longer & much more descriptive, like
UNSIGNED16 or BOOLEAN, but I suppose that's a little too late, now that
SRFI 47 has already been finalized & the incomprehensible abbreviations
of array types have been set into stone...)

Also, one more  comment on the draft: it doesn't actually say, as far
as I can tell, anything about the actual syntax of arrays.  It just
gives an example & a reader.  This is a rather glaring omission.