Hi Tobia, the quick answer is this. Suppose we have: A / ¨ B. The the parser does this: read B (no pattern match) read ¨ (no pattern match) read / At this point we could: (i) take / to mean (function) compress, bind / to ¨ and finally try A (/¨) B, or (ii) take / to mean (operator) reduce and try (A/)¯B. Both interpretations (i) and (ii) are in accordance with the ISO standard and also with the IBM APL2 binding rules. In the special case above (i) will always give a valence error but in general (e.g. user defined operator instead of ¨) we cannot know. And instead of A there could be an arbitrarily complex left hand side which was the reason why I tried to resolve the nature of / at ⎕FX time. /// Jürgen On 12/29/2014 12:59 PM, Tobia Conforto
wrote:
|
- Re: [Bug-apl] Bug in the parser? Jay Foad
- Re: [Bug-apl] Bug in the parser? Jay Foad
- Re: [Bug-apl] Bug in the parser? Juergen Sauermann
- Re: [Bug-apl] Bug in the parser? Juergen Sauermann
- Re: [Bug-apl] Bug in the parser? Elias Mårtenson
- Re: [Bug-apl] Bug in the parser? Juergen Sauermann
- Re: [Bug-apl] Bug in the parser? Jay Foad
- Re: [Bug-apl] Bug in the parser? Tobia Conforto
- Re: [Bug-apl] Bug in the parser? Juergen Sauermann
- Re: [Bug-apl] Bug in the parser? Tobia Conforto
- Re: [Bug-apl] Bug in the parser? Juergen Sauermann