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

Re: Update, near finalization

 | Date: Fri, 08 Apr 2005 14:21:31 -0700
 | From: Per Bothner <per@xxxxxxxxxxx>
 | Aubrey Jaffer wrote:
 | > I claim that SRFI-25 and SRFI-63 can coexist -- not that they
 | > interoperate!
 | Having two different array implementations, with the same
 | functionality, in the same Scheme implementation, using overlapping
 | but inconsistent function names is out of the question.
 | I really don't want to add a "this array was allocated using
 | srfi-63 make-array" bit to my arrays.  That's utterly gross.  And
 | of course it doesn't work to have vectors be both SRFI-25 and
 | SRFI-63 arrays.

My focus is to get multidimensional arrays incorporated into R6RS; and
SRFIs are allegedly the way to do that.  R6RS will not incorporate
both SRFI-25 and SRFI-63; so concerns about their interoperations is
at most secondary for a standards track SRFI.

[ more reiteration of outrage elided ]

 | > Bawden arrays predate SRFI-25 by a decade.  SRFI-25 should have
 | > chosen other names.
 | Was that issue brought up during the discussion of SRFI-25?

Yes it was.  It was the SRFI-25 authors who decided to be
incompatible.  See

 | There is a pragmatic issue: How much currently-used code uses
 | Bawden's/SLIB's arrays vs how much uses SRFI-25's.  That's hard to
 | tell, but perhaps there is some data or indicators.  Without that,
 | the default for a SRFI should be that compatibility with a past
 | SRFI (and one supported by multiple active/popular Scheme
 | implementations) should weigh more than conflicting non-SRFI APIs.

SLIB certainly had more users when SRFI-25 was released.  Should
SRFI-63 now be penalized for the SRFI-25 authors' rudeness?

 |  From the SRFI document:
 |    To my knowledge, shared arrays were original to Alan Bawden in his
 |    "array.scm".
 | I doubt it, unless you're restricting yourself to Scheme.
 | Certainly the concept predates 1993 by far.  There are precursurs
 | in APL and Fortran going back to the 60-ies.  I had it in my Q
 | language from the 80-ies/early 90-ies.  (The latest "modify" dates
 | on Q are 1994, but most of the work came before that.)

The specification of any linear index mapping by means of a procedure
is a clever synthesis which I doubt predates the 1980s.  I will reword
the paragraph to emphasize the arbitrary linear mapping aspect.

I am unfamiliar with Q; please send a citation if you think it should
be cited.