Interesting proposal.
But of course lots of remarks:
1. The functionality of multi-dimensional arrays can also
be provided by nested 1-dimensional arrays. It is unclear
to me why multi-dimensional arrays are needed at all.
What is the motivation: efficiency (and if so, explain how
the proposal is more efficient) or added functionality (and
if so, give an example of things we can do with SRFI-25 not
easily done with R5RS vectors).
2. I don't think array-dimensions is a good name. I would expect
it to return all dimensions in some format, not the number of
dimensions. Since the procedure returns the number of dimensions,
what about calling it array-number-of-dimensions ?
3. I don't like the shape format. It is logically a list of pairs:
why not write it as one: e.g. ((0 4) (0 4)) looks better to me
than (0 4 0 4). For 0-based arrays the shorthand (4 4)
could then be used.
4. Apparently arrays are supposed to be disjoint from vectors.
This could be made more explicit. Also, this means that even
1-dimensional 0-based arrays are disjoint from vectors?
5. From reading the proposal I understand that () is a valid shape,
but perhaps this point could be clarified separately.
6. share-array says that a linear procedure must be given, and
that "a constant term is just a special case". Could it be that
"affine" is meant instead of "linear"?
7. I would rename build-array to tabulate-array . There is little
difference, in my mind, between making and building an array.
Greetings,
Stephan
--
Make sure you don't miss this!
http://www.win.tue.nl/scee2002
4th International Workshop on
Scientific Computing in Electrical Engineering
23-28 June 2002, Eindhoven, The Netherlands
"Share and enjoy."
-----------------------------------------------------------------------
S.H.M.J. Houben Philips Research Laboratories Eindhoven
Building: WAY3 073 Prof. Holstlaan 4
Phone: +31 40 2743497 5656 AA Eindhoven
The Netherlands
mailto:xxxxxx@natlab.research.philips.com