```iotag←{⎕ML←3                        ⍝ Generalized ⍳.
AlphaInterval←{⍵=' ':''         ⍝ ⍳' ' is empty vector.
a←⎕AV⍳'a0AÁ'                ⍝ Indices of a0AÁ.
k←⎕IO+a+.<i←1+⎕AV⍳⍵         ⍝ Find starting point.
⍺←⎕AV[a[k-1]]               ⍝ Default left argument.
≤/i,j←⎕AV⍳⍺:⌽⍵ ∇ ⍺          ⍝ If ⍵ before ⍺, reverse.
(j-⎕IO)↓(i-⎕IO)↑⎕AV         ⍝ Truncate ⎕AV.
}
⍝Interval←{⍺+0,+\(|d)⍴×d←⍵-⍺}    ⍝ Interval Function.
Interval←{s←×/1↓⍵,(⍺>↑⍵)/¯1     ⍝ Calculate step size
⍺-s×⎕IO-⍳⌊1-(⍺-↑⍵)÷s}       ⍝ Generate Interval
IndexOf←{i←1↓⍳⍴⍴⍺               ⍝ Enclose left arg axis.
j←(1-⍴⍴⍺)↑⍳⍴⍴⍵              ⍝ Enclose right arg axis.
(⊂[i]m↑[i]⍺)⍳⊂[j]m↑[j]⍵     ⍝ Get index.
}
ischar←{0 2∊⍨10|⎕DR ⍵}          ⍝ type ∊ 82 80 160 ...
m∧1=⍴⍴⍵:↑∘.,/∇¨⍵                ⍝ Vector right argument
m∧ischar ⍵:AlphaInterval ⍵      ⍝ Alpha Monadic.
s←0=⍴⍴⍺                         ⍝ Scalar Left Argument?
s∧ischar ⍵:⍺ AlphaInterval ⍵    ⍝ Alpha Interval.
s:⍺ Interval ⍵                  ⍝ Numeric Interval.
}

code_colours

test script

Back to: notes

Back to: Workspaces
```