@ngn that -x is not necessary, just a (simple) way to do unfoldr (\x -> if cond x then Just (x, next x) else Nothing) a₀ would be nice [But that's just me, and I'm only "using" APL for 2 weeks, so maybe I'm completely wrong]
@Adám like in Haskell, e. g. unfoldr (\x -> if x>0 then Just (-x, xdiv2) else Nothing) 42 is [-42,-21,-10,-5,-2,-1]. Here function returns (a) what elem goes to the result (-42), (b) the next state (xdiv2 aka {⌊⍵÷2}), (c) whether to stop (Just(v,state) or Nothing). Shouldn't be necessary that complex, but the idea is this.
Interestingly, if I do ti←¯128+'UTF-8'⎕ucs t ⋄ si←¯128+⎕ucs s ⍝ -128 to fit to 8-byte ints and run si{+/2</(⍺=⍵),1}ti, it's ×1.5 slower. Any idea why? (ascii-only, so t and ti have the same size.)
now trying it, gnu apl accepts pretty much everything… both alphas, omegas, even minuses (ascii hyphen & mathematical minus U+2212). Edit: ah, it's all in the pdf you posted
I’m watching youtube.com/watch?v=EJONZpNA81s and 0 0⍉D←{{⍉⍵⍪1↓⊖⍵}⍣2⌽s⍴⍵,'-'⍴⍨s←2⍴≢⍵}'ABCD' (the 0 0⍉ part) gives an error. Has something changed in Dyalog APL?