Slobodan Blazeski <slobodan.blazeski@gmail.com> wrote:
+
 I have another problem with looping over multi dimensional arrays:
 I need an array *accessor* with elided indices for example
 (defun elide (array &rest subscripts)
 ...
 For foo being 2 dimensional array (2 5)
 0 1 2 3 4
 5 6 7 8 9
...
 However for every subscript that's not an integer:
 (elide foo 1 t)
 #(5 6 7 8 9)

 (elide foo t 4)
 #(4 9)
+
People often call this function "slicing" an array (rather than eliding).
There was some discussion of this here back in February of this year
with the "Subject: multidimensional array slices". In particular,
Tamas Papp pointed to this package:
If you want the general slices, I wrote an experimental (but working)
package which might do what you want. You can find it here:
http://www.princeton.edu/~tpapp/index.html#affi
affi
An affine indexing package that provides convenience functions for
traversing slices of arrays, optionally with index permutations and
other convenient transformations. A driver clause for iterate is
provided, along with mapsubarray, a simple yet powerful function
for mapping arrays into each other using affine indexes.
[GIT repo] [tarball]
Marco Antoniotti also discussed his MAKEARRAYSLICE function.
Rob

Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)5722607