a) you can only do rotations that are orthogonal to the current plane. in that case you could use Labyrinths semantics (><v^, rotate a row or column depending on some current value, relative to the IP... and in your case the entire plane attached to it). b) you could go with rubik's cube notation like UDLRFB or whatever it is, and allow any rotation from anywhere. would have to clarify if these are global or relative to the IP
@ETHproductions there are better solutions for literals. for a start you could have ' switch to "literal mode" for one tick, such that the next character in movement direction is pushed.
you can also have ><>/Befunge/Rail style strings, i.e. " toggles literal mode
@MartinBüttner I was thinking about doing something really weird, like a stack where you have to manually move some pointer to between two items to perform binary operations, but in the end I think a plain stack might be the best option.
@MartinBüttner If the language only has integer-type literals, how will " work?
I have a really neat idea for a cube-themed memory model, but it might be better combining that with a less messed up program layout (also, I want to use a version of it with different geometry for a language I do want to implement at some point...)
@MartinBüttner I think I like b) better. It'd take 12 commands instead of 4 (I think UDLRFBudlrfb would work), but it'll offer control over not only what side the pointer is on, what instruction it'll run over next.