Hi Alex, not sure what a ¯3⍤< m is supposed to mean. According to the ISO standard the syntax for ⍤ is: Z ← f ⍤ j B (monadic, page 124) or Z ← A f ⍤ j B (dyadic, page 125) If you compare that with your example: a ¯3 ⍤ < m then the (expected value) j is the primitive function <, which triggers the VALUE ERROR. The fact that the caret points to a is not because a is the culprit, but because a is the left end of the phrase being reduced. Unfortunately the syntax in the ISO standard is somewhat ambiguous: j is a one, two, or three element vector, and B is the rest. Therefore it is sometimes impossible to decide where j ends and where B begins, and the examples for ⍤ in the ISO standard are in conflict with the IBM APL2 binding rules. This conflict occurs only with ⍤ which - wise decision - is not implemented at all in IBM APL2. The conflict can be avoided by always putting j and B into separate variables. If you use literals for j or B, heaven forbid, then be prepared for fairly nasty error messages at times. /// Jürgen On 02/06/2016 05:17 PM,
alexwei...@alexweiner.com wrote:
|
- [Bug-apl] value error when using 'Cut' alexweiner
- Re: [Bug-apl] value error when using 'Cut' Juergen Sauermann
- Re: [Bug-apl] value error when using 'Cut' Elias Mårtenson
- Re: [Bug-apl] value error when using 'Cut' Juergen Sauermann
- Re: [Bug-apl] value error when using 'C... Elias Mårtenson
- Re: [Bug-apl] value error when using 'Cut' alexweiner
- Re: [Bug-apl] value error when using 'Cut' Louis de Forcrand
- Re: [Bug-apl] value error when using 'Cut' Juergen Sauermann
- Re: [Bug-apl] value error when using 'Cut' alexweiner