In a discussion on the #lisp IRC channel recently, someone wanted to remove a certain substring from a larger string. In Lisp, the solution is to simply use cl-ppcre and remove by regex.
But, I started thinking about how to do this in APL, and this is what I came up with: RemoveSubstrings ← {,/ ⍵ ⊂⍨ ↑~∨/ (-⍳⍴⍺) °.⌽ ⊂⍺⍷⍵} Is this a good way of solving the problem? I realise that I have a bug when the resulting string is empty: * "foo" RemoveSubstrings "foo"* DOMAIN ERROR λ1[1] λ←,/⍵⊂⍨↑∼∨/(-⍳⍴⍺)°.⌽⊂⍺⋸⍵ ^ ^ Does anyone have a better solution? Regards, Elias