|
SRFI 231 and empty arrays
Bradley J Lucier
(31 Mar 2026 16:08 UTC)
|
|
Re: SRFI 231 and empty arrays
Bradley J Lucier
(01 Apr 2026 17:50 UTC)
|
|
Re: SRFI 231 and empty arrays
John Cowan
(01 Apr 2026 21:30 UTC)
|
|
Re: SRFI 231 and empty arrays
John Cowan
(01 Apr 2026 21:47 UTC)
|
|
Re: SRFI 231 and empty arrays Bradley J Lucier (01 Apr 2026 22:21 UTC)
|
|
Re: SRFI 231 and empty arrays
Per Bothner
(01 Apr 2026 22:44 UTC)
|
|
Re: SRFI 231 and empty arrays
John Cowan
(01 Apr 2026 23:30 UTC)
|
|
Re: SRFI 231 and empty arrays
Bradley Lucier
(01 Apr 2026 23:43 UTC)
|
|
Re: SRFI 231 and empty arrays
John Cowan
(02 Apr 2026 00:36 UTC)
|
|
Re: SRFI 231 and empty arrays
John Cowan
(01 Apr 2026 23:04 UTC)
|
|
Re: SRFI 231 and empty arrays
Arthur A. Gleckler
(01 Apr 2026 17:57 UTC)
|
OK, we’re agreed that an empty literal array constant with upper bounds ‘#(2 0) and lower bounds ‘#(0 0) (a “tall narrow” empty array) *can* be represented in this notation and an empty literal array constant with upper bounds ‘#(0 2) and lower bounds ‘#(0 0) (a “short wide” empty array) *cannot* be represented in this notation. So my question is: Do you want SRFI 268 notation to be able to specify all literal array constants? If so, then something different from CL notation would seem to be needed. Brad > On Apr 1, 2026, at 5:47 PM, John Cowan <xxxxxx@ccil.org> wrote: > > ---- External Email: Use caution with attachments, links, or sharing data ---- > > > Update: The CL description of #A says "If some dimension of the array > whose representation is being parsed is found to be 0, all dimensions > to the right (i.e., the higher numbered dimensions) are also > considered to be 0." > > > On Wed, Apr 1, 2026 at 5:30 PM John Cowan <xxxxxx@ccil.org> wrote: >> >> CL (where all lower bounds are 0) doesn't round-trip empty arrays >> either. Arrays with dimensions (0 0) and (0 2) both print as #2A(), >> which is read back with dimensions (0 0). However, an array with >> dimensions (2 0) prints as #2A(() ()) >> >> The element type is also discarded on output: if you read them in, you >> always get an array with the generic storage class. SBCL has an >> extension for this. >> >> On Wed, Apr 1, 2026 at 1:50 PM Bradley J Lucier <xxxxxx@purdue.edu> wrote: >>> >>> On Mar 31, 2026, at 12:08 PM, Bradley J Lucier <xxxxxx@purdue.edu> wrote: >>> >>> In your notation, how would you specify an empty array literal with lower bounds ‘#(0 0) and upper bounds ‘#(0 2)? >>> >>> >>> After more study, I’ll say that I don’t think one can specify an empty array literal with lower bounds ‘#(0 0) and upper bounds ‘#(0 2) using SRFI 268. >>> >>> Brad