words: cleaning up word-props
parent
de4e42b6ca
commit
0a5c181c9e
|
@ -129,17 +129,18 @@ M: word parent-word drop f ;
|
||||||
: make-deprecated ( word -- )
|
: make-deprecated ( word -- )
|
||||||
t "deprecated" set-word-prop ;
|
t "deprecated" set-word-prop ;
|
||||||
|
|
||||||
: inline? ( obj -- ? )
|
: word-prop? ( obj string -- ? )
|
||||||
dup word? [ "inline" word-prop ] [ drop f ] if ; inline
|
over word? [ word-prop ] [ 2drop f ] if ; inline
|
||||||
|
|
||||||
: recursive? ( obj -- ? )
|
: word-props? ( obj seq -- ? )
|
||||||
dup word? [ "recursive" word-prop ] [ drop f ] if ; inline
|
over word? [ [ word-prop ] with all? ] [ 2drop f ] if ; inline
|
||||||
|
|
||||||
|
: inline? ( obj -- ? ) "inline" word-prop? ; inline
|
||||||
|
|
||||||
|
: recursive? ( obj -- ? ) "recursive" word-prop? ; inline
|
||||||
|
|
||||||
: inline-recursive? ( obj -- ? )
|
: inline-recursive? ( obj -- ? )
|
||||||
dup word? [
|
{ "inline" "recursive" } word-props? ; inline
|
||||||
dup "inline" word-prop
|
|
||||||
[ "recursive" word-prop ] [ drop f ] if
|
|
||||||
] [ drop f ] if ; inline
|
|
||||||
|
|
||||||
ERROR: cannot-be-inline word ;
|
ERROR: cannot-be-inline word ;
|
||||||
|
|
||||||
|
@ -174,7 +175,8 @@ M: word foldable?
|
||||||
[ parent-word dup [ foldable? ] when ] bi or ;
|
[ parent-word dup [ foldable? ] when ] bi or ;
|
||||||
|
|
||||||
: make-foldable ( word -- )
|
: make-foldable ( word -- )
|
||||||
dup make-flushable t "foldable" set-word-prop ;
|
[ make-flushable ]
|
||||||
|
[ t "foldable" set-word-prop ] bi ;
|
||||||
|
|
||||||
GENERIC: reset-word ( word -- )
|
GENERIC: reset-word ( word -- )
|
||||||
|
|
||||||
|
@ -242,11 +244,9 @@ M: parsing-word definer drop \ SYNTAX: \ ; ;
|
||||||
: define-syntax ( word quot -- )
|
: define-syntax ( word quot -- )
|
||||||
[ drop ] [ define ] 2bi t "parsing" set-word-prop ;
|
[ drop ] [ define ] 2bi t "parsing" set-word-prop ;
|
||||||
|
|
||||||
: delimiter? ( obj -- ? )
|
: delimiter? ( obj -- ? ) "delimiter" word-prop? ;
|
||||||
dup word? [ "delimiter" word-prop ] [ drop f ] if ;
|
|
||||||
|
|
||||||
: deprecated? ( obj -- ? )
|
: deprecated? ( obj -- ? ) "deprecated" word-prop? ;
|
||||||
dup word? [ "deprecated" word-prop ] [ drop f ] if ;
|
|
||||||
|
|
||||||
! Definition protocol
|
! Definition protocol
|
||||||
M: word where "loc" word-prop ;
|
M: word where "loc" word-prop ;
|
||||||
|
|
Loading…
Reference in New Issue