X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=scheme.forth.jl.git;a=blobdiff_plain;f=src%2Fscheme.4th;h=68c3b67478f16ffa10bdbc659ebd10810d6e0a90;hp=ebbf15914e8366152b0122cf878c48bafe7a5a74;hb=722badbcc9d3453b18df83c95a935c095a23d4a6;hpb=b8da9ef1bc7968be44d42fc2fab88d42feb85eb2 diff --git a/src/scheme.4th b/src/scheme.4th index ebbf159..68c3b67 100644 --- a/src/scheme.4th +++ b/src/scheme.4th @@ -497,15 +497,16 @@ hide var : define-var ( var val env -- ) first-frame ( var val frame ) - 2rot 2over 2over ( val frame var frame var ) + 2rot 2swap 2over 2over ( val var frame var frame ) get-vals-frame nil? if - 2drop ( val frame var ) - -2rot add-binding + 2drop + -2rot 2swap 2rot + add-binding else - ( val frame var vals ) + ( val var frame vals ) 2swap 2drop 2swap 2drop - cons + set-car! then ;