variable x 0 x ! : make.stack 1+ 1 do i loop ; : clean.stack x @ 0 do drop loop ; : fn recursive dup 2 = if drop .s swap .s swap else >r r@ 0 do J 1 - fn J 1 - roll cr loop r> drop then ; : show.all dup x ! dup 0 = if ." Error" drop else dup 1 = if .s else cr make.stack dup fn drop then x @ clean.stack then ;