Ab und zu kommt man in die Verlegenheit und muss einzelne Items auf dem Stack vertauschen. Dann kommt es zur berüchtigten Stack-Akrobatik.
: exchange ( xi ... xn ... x0 n -- xi ... x0 ... xn ) dup 0= IF drop exit THEN dup 1 = IF drop swap exit THEN swap >r >r r@ cells sp@ + @ r> r> swap 2 + cells sp@ + ! ;