So far nouns have been considered in their entirety. However, it is useful to think of an array as consisting of cells, parts of the array (subarrays) that when placed in a frame, make up the entire array.
a =. 2 3 $ i. 6 a 0 1 2 3 4 5
The array a can be thought of as having 6 cells, where each cell was an atom. The frame would be the shape 2 3 that structures the 6 individual cells into the array a. Visually:
cells are atoms
0 cell 0 1 cell 1 ... 5 cell 5frame is shape 2 3 that structures the cell atoms into the array
The array a can also be thought of as having 2 cells, where each cell was a list. The frame would be the shape 2 that structures the cells into the array a. Visually:
cells are lists
0 1 2 cell 0 3 4 5 cell 1frame is shape 2 that structures the cell lists into the array
Finally, the array a can be thought of as having 1 cell, where the cell was a table. The frame would be the shape empty that structures the cells into the array a. Visually:
cells are tables
0 1 2 cell 0 2 3 4frame is shape empty that structures the cell table into the array
A table with shape 2 3 can be thought of as:
a 2 3 frame of cells that are atoms
a 2 frame of cells that are lists of shape 3
an empty frame of a cell that is a table of shape 2 3
Similarly, an array with shape 4 3 2 can be thought of as:
a 4 3 2 frame of cells that are atoms
a 4 3 frame of cells that are lists of shape 2
a 4 frame of cells that are tables of shape 3 2
an empty frame of a cell that is a rank 3 array of shape 4 3 2
The frame is a prefix of the shape of the array. It can be the entire shape (a prefix of all), in which case the cells are atoms. It can be empty (a prefix of none) in which case there is a single cell which is the array. Or anything in between.
The cell shape is the array shape with the frame prefix removed. The length of the cell shape is the cell rank.
The cells of an array are the subarrays that, when assembled into the corresponding frame, create the entire array.