This may also help show the evaluation more clearly:
nb =: (;:^:_1) @: (":&.>)
m=: 4 : 'x*y[smoutput nb y;''*'';x'
3 (m m m (m m m) m m m) 4
4 * 3
4 * 3
12 * 12
4 * 3
144 * 12
144 * 12
1728 * 1728
4 * 3
2985984 * 12
35831808
3 ((m m m) (m m m) m m m) 4
4 * 3
4 * 3
12 * 12
4 * 3
4 * 3
12 * 12
144 * 144
144 * 144
20736 * 20736
429981696
On Sun, Jul 20, 2014 at 8:36 AM, Joe Bogner <[email protected]> wrote:
> I would explain it by quoting a few sentences from the dictionary
>
> Execution proceeds from right to left, except that when a right
> parenthesis is encountered... in an unparenthesized expression the right
> argument of any verb is the result of the entire phrase to its right... The
> executions in the stack are confined to the first four elements only
>
> I would then suggest that the person read the dictionary:
> http://www.jsoftware.com/help/dictionary/dicte.htm
>
> And point to the pages on http://www.jsoftware.com/jwiki/Vocabulary/fork
> and http://www.jsoftware.com/jwiki/Vocabulary/hook
>
>
> And play with trace as Raul suggested
>
>
> On Sun, Jul 20, 2014 at 12:13 AM, Linda Alvord <[email protected]>
> wrote:
>
>> But can you explain the difference in a few words?
>>
>>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm