I think you should use J's trace facility to see the answer to that question.
But, briefly: adverbs and conjunctions defer right to left verb processing until after they have their left argument. This means that when you build verbs, the building effectively happens "left to right". I hope this helps, -- Raul On Thu, Mar 2, 2017 at 8:42 PM, Linda A Alvord <[email protected]> wrote: > Raul, > This works, but I didn't expect that it would: > | > fibjb=: 13 :'}:(,[:+/ (_2&{.))^:y 1' > > If: > y=:5 > y 5 > |syntax error > | y 5 > > When does J get executed from left to right, and when is it from right to > left? > > Linda > > -----Original Message----- > From: Programming [mailto:[email protected]] On Behalf > Of Raul Miller > Sent: Thursday, March 2, 2017 2:53 PM > To: Programming forum > Subject: Re: [Jprogramming] Explicit fib > > These are equivalent: > > (,+/ @(_2&{.))^:4(1) > 1 1 2 3 5 > (,+/ @(_2&{.))(,+/ @(_2&{.))(,+/ @(_2&{.))(,+/ @(_2&{.))(1) > 1 1 2 3 5 > > In other words, (F)^:4 does F four times. > > Does this help? > > Thanks, > > -- > Raul > > On Thu, Mar 2, 2017 at 2:38 PM, Linda A Alvord <[email protected]> > wrote: >> Joe, this has taken me a while because I like to understand something, at >> least a little bit, before I respond. I can't quite how this works. >> >> (,+/ @(_2&{.))^:14(1) >> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 >> >> You get an extra term, but I could define your verb. >> >> fibjb=: 13 :'}:(,[:+/ (_2&{.))^:y 1' >> fibjb 14 >> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 >> >> But I wish I could understand how it works as it looks so simple. >> >> A tree didn't help much: >> >> >> 5!:4 <'fibjb' >> ┌─ 3 >> ── : ─┴─ ,:'}:(,[:+/ (_2&{.))^:y 1' >> >> Dissect seemed to withhold its secrets. SO it's up to you to help me.' >> >> load 'debug' >> dissect 'fibjb 14' >> >> Thanks in advance. Linda >> >> -----Original Message----- >> From: Programming [mailto:[email protected]] On >> Behalf Of Joe Bogner >> Sent: Monday, February 27, 2017 9:49 AM >> To: [email protected] >> Subject: Re: [Jprogramming] Explicit fib >> >> This is how I would approach it for young children -- attempting to >> follow your english description >> >> fibJ =: 3 : 0 >> >> firstLast =. 1 >> secondLast =. 0 >> total =. 1 >> >> for_N. i. (y-1) do. >> >> term =. (firstLast + secondLast) >> secondLast =. firstLast >> firstLast =. term >> >> total =. total,term >> >> end. >> total >> ) >> fibJ 15 >> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 >> >> The definition is simpler if you just want the Nth number >> >> fibJ =: 3 : 0 >> >> firstLast =. 1 >> secondLast =. 0 >> >> for_N. i. (y-1) do. >> >> term =. (firstLast + secondLast) >> secondLast =. firstLast >> firstLast =. term >> end. >> term >> ) >> fibJ 15 >> 610 >> >> >> >> On Mon, Feb 27, 2017 at 9:16 AM, David Lambert <[email protected]> wrote: >>> fib3=: 13 :'}.1|.,''),(fib2 '',"_ 1":i.y,1' >>> >>> ". fib3 6 >>> 0 1 1 2 3 5 >>> >>> >>> Let's reorganize by grouping all the strings to increase the sentence >>> legibility. >>> >>> '),(fib2 ' ,"_ 1 ": ,. i. 7 >>> ),(fib2 0 >>> ),(fib2 1 >>> ),(fib2 2 >>> ),(fib2 3 >>> ),(fib2 4 >>> ),(fib2 5 >>> ),(fib2 6 >>> >>> From here ravel, rotate by one position, finally discard the extra comma. >>> >>> >>> On 02/27/2017 07:00 AM, [email protected] wrote: >>>> >>>> Date: Mon, 27 Feb 2017 05:01:34 -0500 >>>> From: "Linda A Alvord"<[email protected]> >>>> To:<[email protected]> >>>> Subject: Re: [Jprogramming] Explicit fib >>>> Message-ID: <000301d290e0$7ae35ac0$70aa1040$@net> >>>> Content-Type: text/plain; charset="utf-8" >>>> >>>> I like fib2 and things were going well but I hit a snag: >>>> >>>> ]W=:*i.2 2 >>>> 0 1 >>>> 1 1 >>>> mp=:+/ . * >>>> fib2=:3 : '{. W&mp^:y 0 1' >>>> ". }:, (14 5$'(fib2'),"1 (' ',"1 ' ',"1 ":,.>:i.14),"1 '),' >>>> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 >>>> fib3=: 13 :' ". }:, ((y,5)$'(fib2'),"1 (' ',"1 ' ',"1 >>>> ":,.>:i.y),"1 '),'' >>>> |domain error: fib2 >>>> | {.W&mp ^:y 0 1 >>>> It doesn't like the fact that that the fib2 should still be just >>>> letters. >>>> >>>> It was fun anyway. Linda >>> >>> >>> --------------------------------------------------------------------- >>> - For information about J forums see >>> http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
