X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;ds=sidebyside;f=defer-is.4th;h=3949d0cca3480c4fc2583de5b132f6373120ab81;hb=d42b0088f674ffdcd607016213c66455864b7588;hp=bf3225a23b3cb9e5ac4010fa4345d4d14d7e082c;hpb=95c071f1ce6af0571791b2e8b885780182982dff;p=scheme.forth.jl.git diff --git a/defer-is.4th b/defer-is.4th index bf3225a..3949d0c 100644 --- a/defer-is.4th +++ b/defer-is.4th @@ -1,4 +1,4 @@ -\ Add words supporting deferred execution +\ Words supporting deferred execution : abort-defer ." Tried to execute undefined deferred word." cr abort ; @@ -26,3 +26,19 @@ hide abort-defer ['] lit , , ['] defer! , then ; + +: :noname + here current @ 1+ @ , + current @ 1+ ! + 0 , + here docol , + [compile] ] ; + + +\ Need this for tail call optimization + +: goto ( cfa -- ) + R> drop execute ; + +: goto-prime ( cfa -- ) + R> R> 2drop execute ;