combinators.extras vocabulary
Factor handbook ยป Vocabulary index


Documentation
Extra combinators

Metadata
Parents:combinators
Authors:Doug Coleman


Words

Parsing words
WordSyntax
?[


Macro words
WordStack effect
2keep-under( quot -- quot' )
3keep-under( quot -- quot' )
4keep-under( quot -- quot' )
chain( quots -- quot )
cleave-array( quots -- quot )
cond-case( assoc -- quot )
keep-under( quot -- quot' )
n*obj( n obj -- quot )
n-and( n -- quot )
n-falsify( n -- quot )
sequence-case( assoc -- quot )
smart-plox( true: ( ... -- x ) -- quot )


Ordinary words
WordStack effect
1temp1d( quot: ( a b c -- d e f ) -- quot )
1temp2d( quot: ( a b c -- d e f ) -- quot )
2craft-1up( ..a quot1: ( ..a -- ..b o1 ) quot2: ( ..b -- ..c o2 ) -- ..c o1 o2 )
2dip-1up( ..a d1 d2 quot: ( ..a -- ..b o ) -- ..b d1 d2 o )
2dip-2up( ..a d1 d2 quot: ( ..a -- ..b o1 o2 ) -- ..b d1 d2 o1 o2 )
2false-unless( obj1 obj2 ? -- f f )
2falsify( obj1 obj2 -- obj1/f obj2/f )
2keep-1up( quot -- quot )
2keep-2up( quot -- quot )
2keep-3up( quot -- quot )
2quad( x y p q r s -- )
2quad*( o t u v w x y z p q r s -- )
2quad@( s t u v w x y z quot -- )
2temp2d( quot: ( a b c d -- e f g h ) -- quot )
3and( a b c -- ? )
3bi*( u v w x y z p q -- )
3bi@( u v w x y z quot -- )
3both?( x y z quot -- ? )
3craft-1up( ..a quot1: ( ..a -- ..b o1 ) quot2: ( ..b -- ..c o2 ) quot3: ( ..c -- ..d o3 ) -- ..d o1 o2 o3 )
3dip-1up( ..a d1 d2 d3 quot: ( ..a -- ..b o ) -- ..b d1 d2 d3 o )
3dip-2up( ..a d1 d2 d3 quot: ( ..a -- ..b o1 o2 ) -- ..b d1 d2 d3 o1 o2 )
3dip-3up( ..a d1 d2 d3 quot: ( ..a -- ..b o1 o2 o3 ) -- ..b d1 d2 d3 o1 o2 o3 )
3either?( x y z quot -- ? )
3false-unless( obj1 obj2 obj3 ? -- f f f )
3falsify( obj1 obj2 obj3 -- obj1/f obj2/f obj3/f )
3keep-1up( quot -- quot )
3keep-2up( quot -- quot )
3keep-3up( quot -- quot )
3or( a b c -- ? )
3quad( x y z p q r s -- )
3quad*( k l m n o t u v w x y z p q r s -- )
3quad@( o p q r s t u v w x y z quot -- )
3tri*( o s t u v w x y z p q r -- )
3tri@( r s t u v w x y z quot -- )
4and( a b c d -- ? )
4bi( w x y z p q -- )
4bi*( s t u v w x y z p q -- )
4bi@( s t u v w x y z quot -- )
4craft-1up( ..a quot1: ( ..a -- ..b o1 ) quot2: ( ..b -- ..c o2 ) quot3: ( ..c -- ..d o3 ) quot4: ( ..d -- ..e o4 ) -- ..e o1 o2 o3 o4 )
4or( a b c d -- ? )
4quad( w x y z p q r s -- )
4quad*( g h i j k l m n o t u v w x y z p q r s -- )
4quad@( k l m n o p q r s t u v w x y z quot -- )
4tri( w x y z p q r -- )
4tri*( l m n o s t u v w x y z p q r -- )
4tri@( o p q r s t u v w x y z quot -- )
>2false( obj1 obj2 -- f f )
>3false( obj1 obj2 obj3 -- f f f )
>4false( obj1 obj2 obj3 obj4 -- f f f f )
>false( obj -- f )
?1arg( obj quot: ( obj -- ? ) -- obj/f )
?1guard( ..a x quot: ( ..a x -- ..b ? ) -- ..b x/f ? )
?1if( ..a x pred: ( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? ) true: ( ..b x -- ..c ) false: ( ..b x -- ..c ) -- ..c )
?1unless( ..a x pred: ( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? ) false: ( ..b x -- ..c ) -- ..c )
?1when( ..a x pred: ( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? ) true: ( ..b x -- ..c ) -- ..c )
?2arg( obj1 obj2 quot: ( obj1 obj2 -- ? ) -- obj1/f obj2/f )
?2guard( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x/f y/f ? )
?2if( ..a x pred: ( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x ? ) true: ( ..b x y -- ..c ) false: ( ..b x y -- ..c ) -- ..c )
?2res( ..a obj1 obj2 quot: ( obj1 obj2 -- ? ) -- ..b )
?2unless( ..a x pred: ( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x ? ) false: ( ..b x y -- ..c ) -- ..c )
?2when( ..a x pred: ( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x ? ) true: ( ..b x y -- ..c ) -- ..c )
?3guard( ..a x y z quot: ( ..a x y z -- ..b ? ) -- ..b x/f y/f z/f ? )
?3if( ..a x y z pred: ( ..a x quot: ( ..a x y z -- ..b ? ) -- ..b x ? ) true: ( ..b x y z -- ..c ) false: ( ..b x y z -- ..c ) -- ..c )
?3unless( ..a x y z pred: ( ..a x quot: ( ..a x y z -- ..b ? ) -- ..b x ? ) false: ( ..b x y z -- ..c ) -- ..c )
?3when( ..a x y z pred: ( ..a x quot: ( ..a x y z -- ..b ? ) -- ..b x ? ) true: ( ..b x y z -- ..c ) -- ..c )
alist>quot*( default assoc -- quot )
check2@( ..a x y quot: ( ..a -- ..a ? ) -- ..a ? )
check3@( ..a x y z quot: ( ..a x -- ..a ? ) -- ..a ? )
closure-limit( vertex quot: ( vertex -- edges ) n -- set )
closure-limit-as( vertex quot: ( vertex -- edges ) n exemplar -- set )
cond*( assoc -- )
cond*>quot( assoc -- quot )
dip-1up( ..a d quot: ( ..a -- ..b o ) -- ..b d o )
dip-2up( ..a d quot: ( ..a -- ..b o1 o2 ) -- ..b d o1 o2 )
forever( quot -- )
if?( quot true false -- )
if??( quot true false -- )
keep-1up( quot -- quot )
keep-2up( quot -- quot )
keep-3up( quot -- quot )
loop1( ..a quot: ( ..a -- ..a obj ? ) -- ..a obj )
once( quot -- )
quad( x p q r s -- )
quad*( w x y z p q r s -- )
quad-curry( x p q r s -- p' q' r' s' )
quad-curry*( w x y z p q r s -- p' q' r' s' )
quad-curry@( w x y z q -- p' q' r' s' )
quad@( w x y z quot -- )
swap-when( x y quot: ( x -- n ) quot: ( n n -- ? ) -- x' y' )
thrice( quot -- )
throttle( quot millis -- quot' )
twice( quot -- )
with-global-variable( value key quot -- )
with-output-global-variable( value variable quot -- value )
with-output-variable( value variable quot -- value )


Files


Metadata files