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

Re: #\a octothorpe syntax vs SRFI 10

This page is part of the web mail archives of SRFI 58 from before July 7th, 2015. The new archives for SRFI 58 contain all messages, not just those from before July 7th, 2015.

On Tue, 4 Jan 2005, Aubrey Jaffer wrote:

> | Date: Tue, 4 Jan 2005 13:42:08 -0800
> | From: "Bradd W. Szonye" <bradd+srfi@xxxxxxxxxx>
> |
> | bear wrote:
> |
> | Also, brackets have one major shortcoming (which the current SRFI
> | 58 proposal shares): Since dimensions are inferred from the bracket
> | contents, there's no way to represent arrays with a 0 dimension.

>The updated SRFI-58 provides clarification about rank 0:

True, but that's only one of the two degenerate cases.
General arrays have two degenerate cases.  First, when
there are no dimensions (what you're calling a "Rank 0"
array).  In that case there is one element.

Second, when one or more of the dimensions has a size
equal to zero.  In that case there are no elements.

The dope-vectored syntax can handle both of these cases.
We can write

#A <val> for a zero-dimensional array, just as the
         current proposal recommends, and

#0*3*2A() for a rank-3 array with one zero dimension.

Honestly, I'm not really sure how important it is to get
these cases right, although together they're a powerful
argument for the dope-vectored syntax.

My question is, how useful are such things as static arrays?
I don't envision writing such arrays as part of source code.
These are "mere" external syntax rather than source syntax,
IMO.  As such, I'd insist on *having* an external representation
but I don't much care if the notation is flabby and verbose.