@MartinEnder Let's say Lisp to keep things simple. The program is interpreted as a grid and padded with spaces like a normal 2D language. (I'm actually finding designed transition rules for this to be a fairly interesting problem, so I might make a challenge out of it)
@Dennis you allude to the significance of multiple names for a single function in the docs, but don't address it again later? is it useful so you can a recursive function where one intermediate result grows, as long as it shrinks for every other call?
@Dennis actually, in that part you're saying that your integers are all strictly greater than zero, but you're using zero in most of the examples afterwards
first pass at a multiplication program: tio.run/##LYxRCoAwDEO/… haven't really golfed it yet, because it's not valid for our multiplication challenge anyway (which requires signed inputs)