<blocksapp="Snap! 7dev, https://snap.berkeley.edu"version="2"><block-definitions="reshape as %'shape' $⍴-1-255-255-0 items of %'data'"type="reporter"category="lists"><commentx="0"y="0"w="180"collapsed="false">The first input is a shape list as in
SHAPE OF. The output is an array with those dimensions containing the atomic items of the second input,
repeating values if more are needed.</comment><header></header><code></code><translations></translations><inputs><inputtype="%l"></input><inputtype="%l"></input></inputs><script><blocks="doReport"><blocks="reportReshape"><blockvar="data"/><blockvar="shape"/></block></block></script></block-definition><block-definitions="shape of $⍴-1-255-255-0 %'data'"type="reporter"category="lists"><commentx="0"y="0"w="310"collapsed="false">Reports a flat list of the maximum size of the input array along
each dimension: number of rows, number of columns, etc.
"Maximum" because it works even if the array isn't uniformly shaped.</comment><header></header><code></code><translations></translations><inputs><inputtype="%l"></input></inputs><script><blocks="doReport"><blocks="reportListAttribute"><l><option>dimensions</option></l><blockvar="data"/></block></block></script></block-definition><block-definitions="max %'a' $⌈-1-255-255-0 %'b'"type="reporter"category="operators"><commentx="0"y="0"w="150.66666666666666"collapsed="false">Reports the greater of its two inputs. Works on strings too.</comment><header></header><code></code><translations></translations><inputs><inputtype="%s"></input><inputtype="%s"></input></inputs><script><blocks="doReport"><blocks="reportMax"><blockvar="a"/><blockvar="b"/></block></block></script></block-definition><block-definitions="flatten (ravel) $,-1-255-255-0 %'data'"type="reporter"category="lists"><commentx="0"y="0"w="216"collapsed="false">Reports a flat list of all the atomic elements 
of sublists of the input list.</comment><header></header><code></code><translations></translations><inputs><inputtype="%l"></input></inputs><script><blocks="doReport"><blocks="reportListAttribute"><l><option>flatten</option></l><blockvar="data"/></block></block></script></block-definition><block-definitions="rank of $⍴⍴-1-255-255-0 %'array'"type="reporter"category="lists"><commentx="0"y="0"w="240"collapsed="true">Reports the number of dimensions of the input.</comment><header></header><code></code><translations></translations><inputs><inputtype="%l"></input></inputs><script><blocks="doReport"><blocks="reportListAttribute"><l><option>rank</option></l><blockvar="array"/></block></block></script></block-definition><block-definitions="inner product helper with %'plus' . %'times' %'a' $nl transposed %'tb'"type="reporter"category="other"helper="true"><header></header><code></code><translations></translations><inputs><inputtype="%repRing"></input><inputtype="%repRing"></input><inputtype="%l"></input><inputtype="%l"></input></inputs><script><blocks="doIf"><blocks="reportListIsEmpty"><blockvar="a"/></block><script><blocks="doReport"><blocks="reportNewList"><list></list></block></block></script></block><blocks="doIf"><blocks="reportNot"><blocks="reportIsA"><blocks="reportListItem"><l>1</l><blocks="reportListItem"><l>1</l><blockvar="a"/></block></block><l><option>list</option></l></block></block><script><blocks="doReport"><blocks="reportCONS"><blocks="reportMap"><blocks="reifyReporter"><autolambda><custom-blocks="generalized dotproduct %l %l with sum %repRing product %repRing"><blocks="reportListItem"><l>1</l><blockvar="a"/></block><l/><blockvar="plus"/><blockvar="times"/></custom-block></autolambda><list></list></block><blockvar="tb"/></block><custom-blocks="inner product helper with %repRing . %repRing %l %br transposed %l"><blockvar="plus"/><blockvar="times"/><blocks="reportCDR"><blockvar="a"/></block><blockvar="tb"/></custom-block></block></bl