Right. Here's a variation on Elias's solution that gets IOTA ⍬ right,
but doesn't handle the singleton cases correctly!
IOTA ← {⊃∘.,/(⍳¨⍵),⊂⊂⍬}
On 3 March 2016 at 01:08, Nick Lobachevsky <[email protected]> wrote:
> There is at least one other degenerate case, namely the "legacy"
> singleton, or one element vector. With a scalar argument, monadic
> iota returns a result depth one. With a vector argument, iota returns
> a result depth two. Except when there is only one element.
>
> ≡⍳⍳0 ⍝ can't find zilde
> 2
> ≡⍳⍳1 ⍝ singleton vector case returns result depth one
> 1
> ≡⍳,1
> 1
> ≡⍳,2
> 1
> ≡⍳,42
> 1
> ≡⍳(15⍴1)⍴1 ⍝ matrix singleton thankfully fails
> RANK ERROR
> ≡⍳⍳2
> 2