Xash:
(3 ({. ~: {:)\ 0,],0:)
That's brilliant! It only took me 5 minutes to understand what this means
this time :-)

Elijah:
Thank you for the clarification. The adverb rule is foreign to me, I will
have to explore some examples to see why it makes sense for it to be
different from the verb rule.

Chris:
Nice, I hadn't seen that example yet. Very nice. I'll take a look at the
code.


Andrew



On Wed, Feb 2, 2022 at 6:04 AM xash <xash@λ.land> wrote:

> > Now why steps 10-13 result in the next row of a sierpinski triangle, I
> > don't know, I guess it has to do with generating a Pascal triangle.
>
> It's not that important for learning J, but it gives a hint why the
> seemingly confusing `72#:~8#2` was used. `bm{~3#.\row` maps three
> consecutive
> bits to base 10, which then indexes into 0 1 0 0 1 0 0 0. It helps
> to visualize this without the conversion/indexing:
>
>   (#:i.8);(,.72#:~8#2)
> 0 0 0|0
> 0 0 1|1
> 0 1 0|0
> 0 1 1|0
> 1 0 0|1
> 1 0 1|0
> 1 1 0|0
> 1 1 1|0
>
> There are 8 possibilites, thus we need a bit map that is 8 bits long (8#2).
> To understand why this generates the Sieprinski triangle, it helps to
> ignore rows where two consecutive 1s exist, as they are not possible in
> this
> visualization:
> 0 0 0|0
> 0 0 1|1
> 0 1 0|0
> 1 0 0|1
> 1 0 1|0
>
> We can see that the middle column isn't needed anymore to determine the
> output, so lets ignore it, too:
> 0 0|0
> 0 1|1
> 1 0|1
> 1 1|0
>
> And this just says that a point is the XOR of its two parents.  So this
> corresponds to a pascal triangle with XORing the elements instead of
> adding them, which is a neat way to keep track of the parities inside
> Pascal's without calculating the numbers.
>
> 50% of the complexity of that line stems from the padding between cells
> so the top is in the middle, the other 50% making XORing more complicated
> than it needs to be: (3 ({. ~: {:)\ 0,],0:). :-)
> ----------------------------------------------------------------------
> 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