relationship to SRFI-25 Per Bothner 30 Jul 2015 05:30 UTC Re: relationship to SRFI-25 John Cowan 30 Jul 2015 19:41 UTC Re: relationship to SRFI-25 Bradley Lucier 31 Jul 2015 21:00 UTC Re: relationship to SRFI-25 Bradley Lucier 26 Sep 2015 18:33 UTC Re: relationship to SRFI-25 Per Bothner 27 Sep 2015 05:33 UTC Re: relationship to SRFI-25 Bradley Lucier 28 Sep 2015 21:04 UTC Re: relationship to SRFI-25 Per Bothner 28 Sep 2015 21:29 UTC Re: relationship to SRFI-25 Bradley Lucier 28 Sep 2015 21:53 UTC Re: relationship to SRFI-25 Jamison Hope 28 Sep 2015 22:22 UTC Re: relationship to SRFI-25 Bradley Lucier 28 Sep 2015 22:38 UTC Re: relationship to SRFI-25 Jamison Hope 28 Sep 2015 23:20 UTC Re: relationship to SRFI-25 Bradley Lucier 29 Sep 2015 06:03 UTC Re: relationship to SRFI-25 Jamison Hope 29 Sep 2015 16:12 UTC Re: relationship to SRFI-25 Bradley Lucier 30 Sep 2015 03:42 UTC

Re: relationship to SRFI-25 Bradley Lucier 26 Sep 2015 18:33 UTC

```Per:

You questioned the relationship between SRFI-25 and SRFI-122, implying that it was obscure.

Should there be more commentary in SRFI-122 about the differences and similarities?

> On Jul 31, 2015, at 5:00 PM, Bradley Lucier <xxxxxx@math.purdue.edu> wrote:
>
> On 07/30/2015 01:30 AM, Per Bothner wrote:
>> What is not discussed is how SRFI-122 differs from SRFI-25, and why?
>
> SRFI-25 states:
>
> =====================================================================
> (make-array shape)
> (make-array shape obj)
> Returns a newly allocated array whose shape is given by shape. If obj is
> provided, then each element is initialized to it. Otherwise the initial
> contents of each element is unspecified. The array does not retain a
> dependence to shape.
> =====================================================================
> and
> =====================================================================
> (array shape obj ...)
> Returns a new array whose shape is given by shape and the initial
> contents of the elements are obj ... in row major order. The array does
> not retain a dependence to shape.
> =====================================================================
>
> In this SRFI, (array domain getter) allocates nothing except a few words
> of memory for a structure that contains pointers to domain and getter.
> There is no automatic allocation of arrays (or what this SRFI calls
> array-body's), everything can be left as a function.
>
> SRFI-25 states
>
> =====================================================================
> (array-set! array k ... obj)
> (array-set! array index obj)
> Stores obj in the element of array at index k .... Returns an
> unspecified value. The sequence k ... must be a valid index to array. In
> the second form, index must be either a vector or a 0-based
> 1-dimensional array containing k ....
>
>    (let ((a (make-array
>                (shape 4 5 4 5 4 5))))
>       (array-set! a 4 4 4 'huuhkaja)
>       (array-ref a 4 4 4))
>
> Returns huuhkaja.
> =====================================================================
>
> In this SRFI, arrays don't have to be mutable.
>
>>
>> How is a SRFI-122 interval different from a SRFI-25 shape?
>
> It isn't.
>
>>
>> Why can't SRFI-122 be a compatible superset of SRFI-25?
>
> Hopefully I've explained above.
>
>>
>> Why would anyone want to write:
>>  ((array-getter a) i j)