Btw, current (operator) Stencil, as an entire argument that is unused. It could be used for a fill value. Alternatively, the row containing edge handling spec, could have (0 fill)
The first row indicates window sizes The second row indicates step sizes The third row indicates initial offset The fourth row indicates edge handling (0=Zero, 1=Replicate, 2=Reverse, 3=Mirror, 4=Wrap, `0 fill`=fill with given value)
@RubenVerg Yes, that's already the case. Hence 3 3 for GoL. I've not thought about what happens outside the corners if you fill with two different values along the two axes. Maybe indeed better to only allow a single fill value, as variant or left arg.
The pure extension to offsets and maybe edge handling? It is already on our internal list of language extensions that we are currently considering. But I'm way too busy with more important stuff atm.
x⊇y and f⍥k are already likely to be pushed off from 20.0. I'm fighting to keep ⍛…
@RubenVerg Yes, right now, because IBM has sold APL2 to a company that isn't making it available, and APL2000 isn't going to release any new (or 64-bit!) versions of APL+Win (instead telling people to migrate to APL64 doesn't quite have APL+Win's quality). So if we put in the effort now to catch these customers, we can look forward to a substantial and reliably stable income, which we can then allocate e.g. to new features.
How can I create a sliding window with increasing size on a vector? I tried ((2 3 4)∘.,/⊢) or ((⍳4)∘.,/⊢) but that is not working, probably because the length of the resulting vectors are all different
@LdBeth Why are you wrapping the ,/ function in a dfn?
@Richard Do you want the window to increase as it progresses (as indicated by your "increasing size" or just all the combos (as indicated by your "∘.")? If the latter, then, remember that for each of the sizes, you want the entire right argument, so you need to enclose the right argument. Also, remember that operators bind from the left, so you need ∘.(,/) instead of ∘.,/ which becomes (∘.,)/. Also, as @LdBeth does, you can do with a simple ¨ if your left argument is a vector.
Hi everyone, new to this channel. I was introduced to apl recently by @Richard's interview on youtube. Still looking for a proper introduction to the language. Working through the wiki now.