xpqz / learnapl

Introduction to Dyalog APL: https://xpqz.github.io/learnapl
Other
126 stars 11 forks source link

Dyadic Reduce could be better introduced #32

Open jonocarroll opened 10 months ago

jonocarroll commented 10 months ago

In functions.ipynb, section 'Direct operators', the dyadic use of Reduce is introduced as

2 (+/) ⍳10

This took a while for me to get my head around, as I was only familiar with the monadic Reduce producing the sum. It is briefly mentioned that this is a windowed reduction, but that is not properly introduced until iteration.ipynb, section 'Windowed reduction'.

Since it is used to introduce the dyadic case, a quick explanation of what this derived function does would be helpful there. The explanation used in the later section is clarifying

For example, to calculate the sum of each element in a vector with its subsequent element, we employ a reduction with a sliding window of size 2

but I could not predict that based on the understanding I had in the earlier section alone.

Many thanks for this resource, I am thoroughly enjoying it and find it very well presented!