\ sets values for local variables
: -> ( x - )
parse-word
\ creates a copy of the variable's name
2dup
strdup
2dup
strdup
2dup
strdup
\ creates the new variable setting word
" : set-"
2swap
$cat2
2swap
" ! ;"
$cat2
" "
2swap
$cat2
$cat2
eval
\ sets up the new word to be called in place of ->
" set-"
2swap
$cat2
" postpone "
2swap
$cat2
eval
; immediate
\ combines two strings together
: $cat2 ( $1 $2 -- $3 )
2 pick over + dup >r alloc-mem >r
2swap tuck r@ swap move ( $2 $1-len )
r@ + swap move ( )
r> r>
;