bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] value error when using 'Cut'


From: Elias Mårtenson
Subject: Re: [Bug-apl] value error when using 'Cut'
Date: Sun, 7 Feb 2016 20:31:03 +0800

How about implementing a non-conflicting extension? I'm suggesting the following form as an alternative:

      Z ← f ⍤[j] B
      Z ← A f ⍤[j] B

Regards,
Elias


On 7 February 2016 at 20:27, Juergen Sauermann <address@hidden> wrote:
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, address@hidden wrote:

Hi bug-apl,

Why am I getting a value error here? It seems that the variable 'a' definitely exists:

      a←2 2 ⍴2
      m←4 4 ⍴⍳16
      a
2 2
2 2
      m
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16
     

VALUE ERROR
      a ¯3⍤<m
      ^
      a
2 2
2 2




SVN 693
-Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]