Re: superfluous functions? Jamison Hope 29 Sep 2015 17:48 UTC

On Sep 29, 2015, at 1:08 PM, Bradley Lucier <> wrote:

>> On Sep 29, 2015, at 12:57 PM, Jamison Hope <> wrote:
>> I'm having trouble following
>> all of the big long (values ...) expressions in the text.
> I presume you mean the text of the SRFI, and not the text of the implementation?

Yes, the text of the SRFI.  I expect to see lots of big long expressions
in the source code of the implementation. :-)

>> Can there be
>> more descriptions in words explaining what those expressions are doing?
> I’ll work on it.  Can you point me to the precise language you’re having difficulty with?

In general, where the text has the form "returns <Scheme Expression>".

For example, in (interval-subset? interval1 interval2), it would help
if the English text stated whether #t means that interval1 is a subset
of interval2, or interval2 is a subset of interval1.  I'm pretty sure
that the Scheme expression is written such that interval1 is the subset
and interval2 is the superset, but having to match up ">=" and "<=" and
"lower" and "upper" and do the mental exercise to figure out what is
happening there is something that could be obviated by one line of text:
"interval-subset? returns true if interval1 is a subset of interval2."

Similarly array-curry, array-distinguish-one-axis, and the other array
functions which currently have something like

"array-ACTION returns (call-with-values ... (interval-ACTION ...) ...)"

could use more English-language summary.

So please fill in the blanks:
"array-curry returns a new array of rank ____ such that ____"
"array-distinguish-one-axis returns a new array of rank ____ such that ____"
"array-for-each applies procedure f to each ____ and returns ____"
"array-reduce applies operator to successive _______ in _____ order"


Jamison Hope