Greetings,
I wrote the following APL1 code a long time ago.
∇
[0] r←d Parse v
[1] ⍝ Convert vector v into a matrix breaking at delimiter d
[2]
r←(((0≠⍴v)×⍴r),⌈/r)⍴(,r∘.≥⍳⌈/r←¯1+(r,1+⍴v)-0,r←r/⍳⍴v)\(~r←v∈d)/v←,v
∇
It worked in 1981 and it works now.
I believe at some point someone on this list re-wrote the
above in GNU APL (APL2) as follows:
∇
[0] r←d Parse2 v
[1] ⍝ break up vector v according to delimiter d into
seperate arrays
[2] r←1↓1↓¨(1++\r∊d)⊂r←(1↑d),(1↑d),v
∇
Interestingly, Parse2 used to work but doesn't anymore. I
suppose the APL2 logic in GNU APL has changed. Two points:
1. Can someone help me fix this? (I don't know too much
about APL2.)