@Pavel You can leave the 0 term out as 0=0², and remove parens using ⍨ (commute), i.e. x*2 ←→ 2*⍨x. Therefore, +/2*⍨⍳10. However, note that squaring is the same as self-multiplication ×⍨ (⍨ is "selfie" when the derived function is applied monadically) so +/×⍨⍳10. If you want a function, for n instead of 10, then the shortest is +/⍳×⍳ or ⍳+.×⍳ or +.×⍨⍳.

@EriktheOutgolfer So while my last function solves the problem of sorting text, it does not provide Total Array Ordering, as it would consider A and 66 the same. And two different arrays should sort identically. I have a solution in mind which solves this for almost any array.

honestly though, you need 1) a special terminal profile 2) applying very strictly enforced syntax rules 3) some nonsensical parsing in the case of hybrids 4) to invoke it with a special command that will make it support ` key combos 5) etc. ...∞) to work within a goddamn terminal

Yes, it is valid
Consider C. In order to run a C program, it is first passed through a compiler (like gcc or clang), then a linker (like ld or gold), and then the resulting executable is run. We have no problem with this (but we require the compiler to be specified, since different compilers imp...

@J.Sallé Yes, but TIO doesn't have url shortening, so the link couldn't fit while also showing that it works. However hastbin's syntax colouring for APL is bad (I think it thinks it is a Visual Basic Script. Gist works better.

@J.Sallé Because ⎕CY does not return a result (we should fix this) but result-less expressions are not allowed in scripts, so by encasing it in execute, I could take advantage of the fact that the result of execute is the last statement, i.e. ⍬.

@Ven I'll be happy to help if I can. The dfns workspace and the idiom list are intended as compact tools, not necessarily the best place for beginners. Reviewing the lessons may be a better fit. Also, all (I hope — let me know if you find one that isn't!) my code golf submissions are fully explained, usually function-by-function.

@Ven No need to over-parenthesise, as APL functions are strictly right-associative: {⍵×1,1,⍨(¯2+⍴⍵)⍴1 2} or {⍵×1,1,⍨1 2⍴⍨¯2+⍴⍵} or golf it one byte to {⍵×1,1,⍨1 2⍴⍨⍴2↓⍵} or go tacit with ⊢×1,1,⍨1 2⍴⍨⍴2∘↓

@dzaima The tracer is actually very useful. You can inspect names and experiment in the session with names that are local at this stack level, and then you can change the tracer into an editor, and fix your code, escape that, and then either resume execution or step through lines. In APL, you are allowed to modify functions even when they are on the stack or indeed half-way executed.

@Pavel How so? you can use scripts written in an external editor and just use APL as an evaluation machine.