M: deferred definer drop \ DEFER: f ;
M: deferred definition drop f ;
-PREDICATE: symbol < word ( obj -- ? )
- [ def>> ] [ [ ] curry ] bi sequence= ;
-M: symbol definer drop \ SYMBOL: f ;
-M: symbol definition drop f ;
-
PREDICATE: primitive < word ( obj -- ? )
[ def>> [ do-primitive ] tail? ]
[ sub-primitive>> >boolean ]
: define-inline ( word def effect -- )
[ define-declared ] [ 2drop make-inline ] 3bi ;
-: define-symbol ( word -- )
- dup [ ] curry (( -- word )) define-inline ;
-
GENERIC: reset-word ( word -- )
M: word reset-word