On Tuesday, June 1, 2021, 07:40:22 p.m. EDT, Henry Rich <[email protected]> 
wrote: 


first is

 noun verb verb(v c v) noun  NB.  parses all 4 terms.

second is

n v v v n  NB.  parses rightmost 4 terms.  

And when that gets reduced to n v v n the rightmost n has already been executed 
along with its side effect code, and so only now the parser will retrieve the 
updated value in left n.


The rules are given in the parsing table 
https://www.jsoftware.com/help/dictionary/dicte.htm

Henry Rich

On 6/1/2021 6:53 PM, 'Pascal Jasmin' via General wrote:
> I see.  It has to parse the value of COUNTER at parse time? for:
>
> COUNTER [ CNT@{. 1 2 3 [ COUNTER =: 0
>
> but It is harder to see why the same rule wouldn't apply to the left COUNTER 
> here:
>
> COUNTER [ ] CNT@{. 1 2 3 [ COUNTER =: 0
>
> 1
>
> If COUNTER needs to be checked for whether it is a conjunction, result would 
> be a n in first, and a v n in second (both illegal).  The conjunction 
> possibility is probably not the actual reason.
>
> 'any v n' requires to see what any is.  Because it could be x v(dyad) n, or v 
> v(monad) n.  Execution of middle v depends on knowing which.
>
> 'any v v n' can always execute the rightmost v before having to look at the 
> left any.
>
> But the first example actually is 'any v v n' in its longer form, so I still 
> don't get why second version "works"
>
>
> On Tuesday, June 1, 2021, 06:19:25 p.m. EDT, Raul Miller 
> <[email protected]> wrote:
>
>
>
>
>
>    CNT =: 3 : 'y [ COUNTER =: >: COUNTER'
>    COUNTER [[ CNT@{. 1 2 3 [ COUNTER =: 0
> 1
>
> In the general case, COUNTER might have instead been a conjunction,
> which would have meant that the [ to the left of CNT in your
> expression would have been an argument to that conjunction, instead of
> being a simple verb which ignores the value from CNT.
>
> I  hope this helps,
>


-- 
This email has been checked for viruses by AVG.
https://www.avg.com


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to