Since the subject has been brought up, how about using it as the analog of first (monadic take), but instead unboxing the last element of an array in ravel order?
I don’t think this can generally be done on an array X in a more concise way than first reverse ravel X or (shape X) pick X which I suppose are both slower than a primitive could be. This might be considered trivial as well though. Just a suggestion! Louis > On 10 Oct 2017, at 18:46, Juergen Sauermann <[email protected]> > wrote: > > Hi Elias, > > I believe ↓ for 1↓ is too trivial to be useful. > > Unoccupied variants of APL primitives (like monadic ↓ or monadic =) are > a very scarce resource that we should not use for trivial things. > > /// Jürgen > > >> On 10/09/2017 11:06 AM, Elias Mårtenson wrote: >> I was thinking about the usefulness of a monadic ↓ in terms of the new >> regexp feature. In the current version, when using subexpressions, the >> return value is always 1+the number of subexpressions, where the first one >> is always the full matched string. Monadic ↓ would be a neat way of dropping >> that part. >> >> In any case, my point is that monadic ↓ should do something useful. I guess >> split is one such useful thing. >> >> In GNU APL, I'd use ⊂⍤1 to achieve Split. Is that the most efficient way? >> >> Regards, >> Elias >> >>> On 9 October 2017 at 16:58, Jay Foad <[email protected]> wrote: >>> On 9 October 2017 at 04:56, Elias Mårtenson <[email protected]> wrote: >>>> Currently, monadic ↑ acts as if it was called dyadically with 1 as its >>>> left argument, >>> >>> That's not quite true: >>> >>> ⍴⍴1↑'ABC' >>> 1 >>> ⍴⍴↑'ABC' >>> 0 >>> >>>> while monadic ↓ raises a VALENCE ERROR. In almost every single case where >>>> I have used ↓, it has been in the form 1↓X. Is there a reason why the >>>> monadic form is not allowed? >>> >>> FYI in Dyalog APL monadic ↓ is Split: >>> >>> ↓3 3⍴⎕A >>> ┌───┬───┬───┐ >>> │ABC│DEF│GHI│ >>> └───┴───┴───┘ >>> >>> I believe this came from STSC's NARS. >>> >>> Jay. >> >
