- array-set! A v i0 #!rest i-tailprocedure
Assumes that A is a mutable array, that v is a value that can be stored within that array, and that every element of (cons i0 i-tail) is an exact integer.
Returns (apply (array-setter A) v i0 i-tail).
It is an error if A is not a mutable array, if v is not an appropriate value to be stored in that array, or if the number of arguments specified is not the correct number for (array-setter A).
Note: In the sample implementation, because array-ref and array-set! take a variable number of arguments and they must check that A is an array of the appropriate type, programs written in a style using these functions, rather than the style in which 1D-Haar-loop is coded below, can take up to three times as long runtime.
Note: In the sample implementation, checking whether the multi-indices are exact integers and within the domain of the array, and checking whether the value is appropriate for storage into the array, is delegated to the underlying definition of the array argument. If the first argument is a safe specialized array, then these items are checked; if it is an unsafe specialized array, they are not. If it is a generalized array, it is up to the programmer whether to define the getter and setter of the array to check the correctness of the arguments.