Today we start to think recursively. The following example uses a simple recursive definition of a SQUARE. In Context Free Art, we may not need to specify a stop condition when each iteration reduces its size, until eventually, the shape is too small to display.
startshape Shape1 rule Shape3 { SQUARE {a -0.9} Shape3 {s 0.9 r 7} } rule Shape2 { 4 * {x 1} Shape3 {r 45} } rule Shape1 { 4 * {y 1} Shape2 {} }