Since the full state machine is relatively simple, it is quite feasible to retain the history of the step execution (~1000 steps to the past) in memory and allow undoing a few steps back into the past. This becomes quite handy when debugging a complicated Piet program: for instance, a wrong CC might cause the path of execution to leak into an unintended area and wreak havoc, and in those situations it becomes convenient to be able to roll back a few steps.
Since the full state machine is relatively simple, it is quite feasible to retain the history of the step execution (~1000 steps to the past) in memory and allow undoing a few steps back into the past. This becomes quite handy when debugging a complicated Piet program: for instance, a wrong CC might cause the path of execution to leak into an unintended area and wreak havoc, and in those situations it becomes convenient to be able to roll back a few steps.