help: small fix because I forgot to test predicates still worked.

locals-and-roots
John Benediktsson 2016-04-04 15:40:26 -07:00
parent bdd4d49ac1
commit 7468da3cd3
1 changed files with 10 additions and 5 deletions

View File

@ -11,7 +11,10 @@ IN: help
GENERIC: word-help* ( word -- content ) GENERIC: word-help* ( word -- content )
: word-help ( word -- content ) : word-help ( word -- content )
dup "help" word-prop [ ] [ word-help* ] ?if ; dup "help" word-prop [ ] [
dup word-help* dup
[ swap 2array 1array ] [ 2drop f ] if
] ?if ;
: $predicate ( element -- ) : $predicate ( element -- )
{ { "object" object } { "?" boolean } } $values { { "object" object } { "?" boolean } } $values
@ -21,8 +24,8 @@ GENERIC: word-help* ( word -- content )
" class." , " class." ,
] { } make $description ; ] { } make $description ;
M: word word-help* : $default ( element -- )
stack-effect [ in>> ] [ out>> ] bi [ first stack-effect [ in>> ] [ out>> ] bi [
[ [
dup pair? [ dup pair? [
first2 dup effect? [ \ $quotation swap 2array ] when first2 dup effect? [ \ $quotation swap 2array ] when
@ -30,11 +33,13 @@ M: word word-help*
object object
] if ] if
] { } map>assoc ] { } map>assoc
] bi@ append members \ $values prefix 1array ; ] bi@ append members $values ;
M: word word-help* drop \ $default ;
M: class word-help* drop f ; M: class word-help* drop f ;
M: predicate word-help* \ $predicate prefix 1array ; M: predicate word-help* drop \ $predicate ;
: all-articles ( -- seq ) : all-articles ( -- seq )
articles get keys articles get keys