X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=defer-is.4th;h=ac82c90ac15760b8806be2e714745a6891527556;hb=c91efd8c4adc50172e831c9cf22cc66cdc3fa6ad;hp=bf3225a23b3cb9e5ac4010fa4345d4d14d7e082c;hpb=95c071f1ce6af0571791b2e8b885780182982dff;p=scheme.forth.jl.git diff --git a/defer-is.4th b/defer-is.4th index bf3225a..ac82c90 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,16 @@ hide abort-defer ['] lit , , ['] defer! , then ; + +: :noname + here current @ 1+ @ , + current @ 1+ ! + 0 , + here docol , + [compile] ] ; + + +\ Need this for tail call optimization + +: goto-deferred ( cfa -- ) + R> drop >body @ >body >R ;