A Forth system is allowed to keep local variables on the return stack. This is reasonable, as local variables usually eliminate the need to use the return stack explicitly. So, if you want to produce a standard compliant program and you are using local variables in a word, forget about return stack manipulations in that word (refer to the standard document for the exact rules).

`>r`

(w – R:w) core “to-r”

`r>`

(R:w – w) core “r-from”

`r@`

(– w ; R: w – w) core “r-fetch”

`rdrop`

(R:w –) gforth-0.2 “rdrop”

`2>r`

(w1 w2 – R:w1 R:w2) core-ext “two-to-r”

`2r>`

(R:w1 R:w2 – w1 w2) core-ext “two-r-from”

`2r@`

(R:w1 R:w2 – R:w1 R:w2 w1 w2) core-ext “two-r-fetch”

`2rdrop`

(R:w1 R:w2 –) gforth-0.2 “two-r-drop”

`n>r`

(x1 .. xn n – r:xn..x1 r:n) tools-ext “n-to-r”

`nr>`

(r:xn..x1 r:n – x1 .. xn n) tools-ext “n-r-from”