What is the best translation from APL/360 to Dyalog for I-beam 26 for example in the lines:
→(3 2 1 ⍴⍴X)/(DFTERR+F←0), 2 3 +⌶26
→(∧/0≤Y)/2+⌶26
?
(The APL\360 manual at https://www.softwarepreservation.org/projects/apl/Books/APL360ReferenceManual says
⌶26 Current value of line counter. In the execution
of a defined function, this is the command
number of the command being executed. ⌶26 can
be used for branching. For example, →2+⌶26 is a
branch to two commands beyond the present one.
)
50100⌶1The problem with
⎕LCis that it returns one line counter per stack frame so2 3 +⌶26will give a length error if the stack has more than two frames, and will give the wrong result if the stack has two frames. In contrast,50100⌶takes an argument which is the number of stack frames to report on (1).We could also write
⊃⎕LC(first of the line counter, assuming⎕ML≤1) but50100⌶1is more efficient.