Andrew, your observations are correct.
Now consider this part which is an amend to create
and amend a long list of zeroes.
1 (15)} (>:+:15) $ 0 NB. beware, of long result
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$,:1 (15)} (>:+:15) $ 0 NB. ,: forces a new dimension
1 31
Now consider the left-most part which is just a train of
verbs and some nouns which are forced to behave like verbs in
this context, (except for the first part: @{:). Such trains
are called forks in J when they have 3 tines.
Forks of 3 verbs can be symbolized V0 V1 V2 or if the
V0 is a noun, symbolized N, then N is treated as if it is
a verb and it is V0.
Longer fork trains like V0 V1 V2 V3 V4 are processed from
right to left and the result of the leftmost fork becomes
the rightmost verb of the next fork to the left after the
first fork is processed; so V0 V1 V2 V3 V4 is processed
like V0 V1 (V2 V3 V4). In this case, the 3 is a leftmost noun
in one of the forks, and the 0 to its right is another
leftmost noun in a fork. Also the term (72#:~8#2) is a
leftmost noun in a fork.
(, ((72#:~8#2){~3#.\0,],0:)@{:)
The (, (....)) 2 verb train called a hook, which appends
the hook's input to the result when the leftmost verb (.....)
is applied to its own input.
The ^:y term repeats the process y times.
Maybe this give some more information, although it is rough.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm