X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=defer-is.4th;h=89f07de5986924c0b2672cf611c440c9ff794455;hb=a95efe1cb2d3774471bb9c0fe4628abe09032ca6;hp=07f134264d32612fe362f181c43b09059c07a67e;hpb=385421e5768281c250e22ac5d7ab8da026dea86c;p=scheme.forth.jl.git diff --git a/defer-is.4th b/defer-is.4th index 07f1342..89f07de 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 ; @@ -18,7 +18,7 @@ hide abort-defer : is immediate bl word find - 0= abort" Undefined deferred word." + 0= abort" Tried to define unknown deferred word." state @ 0= if defer! @@ -33,3 +33,9 @@ hide abort-defer 0 , here docol , [compile] ] ; + + +\ Need this for tail call optimization + +: goto-deferred ( cfa -- ) + R> drop >body @ >body >R ;