|
From: | Dr . Jürgen Sauermann |
Subject: | Re: ⍬ bug? |
Date: | Tue, 24 Dec 2019 14:48:06 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
Hi David, not sure either if this is a bug. The APL standard has quite a specification gap when it comes to binding strength. In GNU APL, the binding between values (aka strand notation) is stronger than the binding between values and functions. For example: V←⍳0 ∇Z←F Z←⍳0 ∇ Both V and F result in the same value ⍬: V≡F 1 However, they are parsed differently: 2 V 3⊃a 3 2 F 3⊃a 2 99 In the first case: 2 V 3⊃a the value V binds strongly to 2 and 3 so that value (2 V 3) becomes the left argument of ⊃. In the second case: 2 F 3 the value 3 binds stronger to ⊃ than to F so that first is evaluated 3⊃a and then the result of ⊃ is tied to the F and 2. In GNU APL ⍬ is a niladic function, so it behaves like F above. This behaviour could be changed, but I hesitate to do that since it might break existing code. The impact of such a change would not only affect ⍬ but all niladic functions. Best Regards, Jürgen Sauermann On 12/24/19 2:49 AM, David Tran wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |