-\ Add words supporting deferred execution
+\ Words supporting deferred execution
: abort-defer
." Tried to execute undefined deferred word." cr abort ;
: is immediate
bl word find
- 0= abort" Undefined deferred word."
+ 0= abort" Tried to define unknown deferred word."
state @ 0= if
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 ;