@H.PWiz × does singleton extension, ⍤ does scalar extension
They were implemented by different people with different tastes. Those coming from a J background usually prefer scalar extension, old-school Dyaloggers tend to be more accepting of singletons.
scalar - an array A with ⍬≡⍴A; singleton - any array A with 1=×/⍴A, including scalar; ... extension - treating a scalar/singleton A as if it has the shape of the other argument when applying a dyadic function
@ngn Right, so a{⍺×⍵}⍤1⊢b begins with 1 2 3{⍺×⍵}⍤1⊢,3 and that ends up as 1 2 3×,3 which was allowed by the original APL implementers. But a{⍺×⍵}⍤1⊢b begins with 1 2 3×⍤1⊢,1 and ⍤ detects a length mismatch between the two vectors.
@ngn Hardly, as it needs to accept it for mixed functions like ∊.
@ngn Mostly scalar. I'd want the scalar case to do something else. Something useful. E.g. I would have wanted ⍳,3 to return (,1) (,2) (,3) while ⍳3 returns 1 2 3.
@ngn Singleton extension was probably introduced because making a singleton into a scalar was ugly before the invention of ⊃ and ⍬. You had to do (0⍴0)⍴Y or the anomalous looking ''⍴Y.
@ngn However, what about the other way? Would you want 3⍴Y to fail because it needed (,3)⍴Y?
Dyalog Version 17.0 is now available under Microsoft Windows, IBM AIX, Linux (including the Raspberry Pi) and Apple macOS.
The full announcement can be found on our website at https://www.dyalog.com/news/125/420/Dyalog-Ltd-Announces-Dyalog-Version-17-0.htm #Dyalog #APL
@Adám Do you know whether the person responsible for the careers@ email is a man or a woman (or neither, idk)? I'm writing a small cover letter and I never know how to begin them >.>