Update vocabs for combinators.short-circuit

db4
Eduardo Cavazos 2008-06-24 08:35:36 -05:00
parent 6923b32ebf
commit e88b83b32f
5 changed files with 30 additions and 30 deletions

View File

@ -63,42 +63,42 @@ MACRO: napply ( n -- )
! short circuiting words ! short circuiting words
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: short-circuit ( quots quot default -- quot ) ! : short-circuit ( quots quot default -- quot )
1quotation -rot { } map>assoc <reversed> alist>quot ; ! 1quotation -rot { } map>assoc <reversed> alist>quot ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MACRO: 0&& ( quots -- quot ) ! MACRO: 0&& ( quots -- quot )
[ '[ drop @ dup not ] [ drop f ] 2array ] map ! [ '[ drop @ dup not ] [ drop f ] 2array ] map
{ [ t ] [ ] } suffix ! { [ t ] [ ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
MACRO: 1&& ( quots -- quot ) ! MACRO: 1&& ( quots -- quot )
[ '[ drop dup @ dup not ] [ drop drop f ] 2array ] map ! [ '[ drop dup @ dup not ] [ drop drop f ] 2array ] map
{ [ t ] [ nip ] } suffix ! { [ t ] [ nip ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
MACRO: 2&& ( quots -- quot ) ! MACRO: 2&& ( quots -- quot )
[ '[ drop 2dup @ dup not ] [ drop 2drop f ] 2array ] map ! [ '[ drop 2dup @ dup not ] [ drop 2drop f ] 2array ] map
{ [ t ] [ 2nip ] } suffix ! { [ t ] [ 2nip ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MACRO: 0|| ( quots -- quot ) ! MACRO: 0|| ( quots -- quot )
[ '[ drop @ dup ] [ ] 2array ] map ! [ '[ drop @ dup ] [ ] 2array ] map
{ [ drop t ] [ f ] } suffix ! { [ drop t ] [ f ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
MACRO: 1|| ( quots -- quot ) ! MACRO: 1|| ( quots -- quot )
[ '[ drop dup @ dup ] [ nip ] 2array ] map ! [ '[ drop dup @ dup ] [ nip ] 2array ] map
{ [ drop drop t ] [ f ] } suffix ! { [ drop drop t ] [ f ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
MACRO: 2|| ( quots -- quot ) ! MACRO: 2|| ( quots -- quot )
[ '[ drop 2dup @ dup ] [ 2nip ] 2array ] map ! [ '[ drop 2dup @ dup ] [ 2nip ] 2array ] map
{ [ drop 2drop t ] [ f ] } suffix ! { [ drop 2drop t ] [ f ] } suffix
'[ f , cond ] ; ! '[ f , cond ] ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! ifte ! ifte

View File

@ -1,4 +1,4 @@
USING: math math.order math.parser kernel combinators.lib USING: combinators.short-circuit math math.order math.parser kernel combinators.lib
sequences sequences.deep peg peg.parsers assocs arrays sequences sequences.deep peg peg.parsers assocs arrays
hashtables strings unicode.case namespaces ascii ; hashtables strings unicode.case namespaces ascii ;
IN: http.parsers IN: http.parsers

View File

@ -1,4 +1,4 @@
USING: unicode.categories kernel math combinators splitting USING: combinators.short-circuit unicode.categories kernel math combinators splitting
sequences math.parser io.files io assocs arrays namespaces sequences math.parser io.files io assocs arrays namespaces
math.ranges unicode.normalize values io.encodings.ascii math.ranges unicode.normalize values io.encodings.ascii
unicode.syntax unicode.data compiler.units alien.syntax sets unicode.syntax unicode.data compiler.units alien.syntax sets

View File

@ -1,4 +1,4 @@
USING: sequences io.files io.encodings.ascii kernel values USING: combinators.short-circuit sequences io.files io.encodings.ascii kernel values
splitting accessors math.parser ascii io assocs strings math splitting accessors math.parser ascii io assocs strings math
namespaces sorting combinators math.order arrays namespaces sorting combinators math.order arrays
unicode.normalize unicode.data combinators.lib locals unicode.normalize unicode.data combinators.lib locals

View File

@ -1,4 +1,4 @@
USING: assocs math kernel sequences io.files hashtables USING: combinators.short-circuit assocs math kernel sequences io.files hashtables
quotations splitting grouping arrays math.parser hash2 math.order quotations splitting grouping arrays math.parser hash2 math.order
byte-arrays words namespaces words compiler.units parser byte-arrays words namespaces words compiler.units parser
io.encodings.ascii values interval-maps ascii sets io.encodings.ascii values interval-maps ascii sets