help: use effect>string instead of present.

db4
John Benediktsson 2014-05-19 10:18:48 -07:00
parent ca061f79ff
commit 72ff285bd8
2 changed files with 9 additions and 10 deletions

View File

@ -3,7 +3,7 @@
USING: accessors arrays assocs classes classes.tuple combinators USING: accessors arrays assocs classes classes.tuple combinators
combinators.short-circuit debugger definitions effects eval combinators.short-circuit debugger definitions effects eval
formatting fry grouping help help.markup help.topics io formatting fry grouping help help.markup help.topics io
io.streams.string kernel macros namespaces present sequences io.streams.string kernel macros namespaces sequences
sequences.deep sets splitting strings summary unicode.categories sequences.deep sets splitting strings summary unicode.categories
vocabs vocabs.loader words words.constant words.symbol ; vocabs vocabs.loader words words.constant words.symbol ;
FROM: sets => members ; FROM: sets => members ;
@ -37,18 +37,17 @@ SYMBOL: vocab-articles
\ $example swap elements [ check-example ] each ; \ $example swap elements [ check-example ] each ;
: extract-values ( element -- seq ) : extract-values ( element -- seq )
\ $values swap elements dup empty? [ \ $values swap elements
first rest keys [ f ] [ first rest keys ] if-empty ;
] unless ;
: extract-value-effects ( element -- seq ) : extract-value-effects ( element -- seq )
\ $values swap elements dup empty? [ \ $values swap elements [ f ] [
first rest [ first rest [
\ $quotation swap elements dup empty? [ drop f ] [ \ $quotation swap elements [ f ] [
first second present first second dup effect? [ effect>string ] when
] if ] if-empty
] map ] map
] unless ; ] if-empty ;
: effect-values ( word -- seq ) : effect-values ( word -- seq )
stack-effect stack-effect

View File

@ -43,7 +43,7 @@ M: simple-element print-element [ print-element ] each ;
M: string print-element [ write ] ($span) ; M: string print-element [ write ] ($span) ;
M: array print-element unclip execute( arg -- ) ; M: array print-element unclip execute( arg -- ) ;
M: word print-element { } swap execute( arg -- ) ; M: word print-element { } swap execute( arg -- ) ;
M: effect print-element present print-element ; M: effect print-element effect>string print-element ;
M: f print-element drop ; M: f print-element drop ;
: print-element* ( element style -- ) : print-element* ( element style -- )