kernel vocabulary
Factor handbook » Vocabulary index


Summary
Data and control flow, basic object protocol

Metadata
Authors:Slava Pestov


Words

Builtin classes
Image callstack
Image tuple
Image wrapper


Error classes
ClassSuperclassSlots
Image assertImage tuplegot expect


Tuple classes
ClassSuperclassSlots
Image composedImage tuplefirst second
Image curriedImage tupleobj quot
Image identity-tupleImage tuple


Union classes
Image boolean
Image null


Intersection classes
Image object


Generic words
WordStack effect
Image boa( slots... class -- tuple )
Image call( callable -- )
Image clone( obj -- cloned )
Image equal?( obj1 obj2 -- ? )
Image execute( word -- )
Image hashcode*( depth obj -- code )
Image new( class -- tuple )
Image throw( error -- * )


Primitives
WordStack effect
Image (clone)( obj -- newobj )
Image -rot( x y z -- z x y )
Image 2drop( x y -- )
Image 2dup( x y -- x y x y )
Image 2nip( x y z -- z )
Image 3drop( x y z -- )
Image 3dup( x y z -- x y z x y z )
Image 4drop( w x y z -- )
Image 4dup( w x y z -- w x y z w x y z )
Image <wrapper>( obj -- wrapper )
Image callstack>array( callstack -- array )
Image die( -- )
Image drop( x -- )
Image dup( x -- x x )
Image dupd( x y -- x x y )
Image eq?( obj1 obj2 -- ? )
Image nip( x y -- y )
Image over( x y -- x y x )
Image pick( x y z -- x y z x )
Image rot( x y z -- y z x )
Image swap( x y -- y x )
Image swapd( x y z -- y x z )


Ordinary words
WordStack effect
Image -roll( w x y z -- z w x y )
Image -rotd( w x y z -- y w x z )
Image 1check( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? )
Image 1guard( ..a x quot: ( ..a x -- ..b ? ) -- ..b x/f )
Image 1if( ..a x pred: ( ..a x -- ..b x ? ) true: ( ..b x -- ..c ) false: ( ..b x -- ..c ) -- ..c )
Image 1unless( ..a x pred: ( ..a x -- ..b ? ) false: ( ..b x -- ..b x ) -- ..b x )
Image 1when( ..a x pred: ( ..a x -- ..b ? ) true: ( ..b x -- ..b x ) -- ..b x )
Image 2bi( x y p q -- )
Image 2bi*( w x y z p q -- )
Image 2bi@( w x y z quot -- )
Image 2check( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x y ? )
Image 2curry( obj1 obj2 quot -- curried )
Image 2dip( x y quot -- x y )
Image 2guard( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x/f y/f )
Image 2if( ..a x y pred: ( ..a x y -- ..b x y ? ) true: ( ..b x y -- ..c ) false: ( ..b x y -- ..c ) -- ..c )
Image 2keep( ..a x y quot: ( ..a x y -- ..b ) -- ..b x y )
Image 2keepd( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x y )
Image 2nipd( w x y z -- y z )
Image 2over( x y z -- x y z x y )
Image 2tri( x y p q r -- )
Image 2tri*( u v w x y z p q r -- )
Image 2tri@( u v w x y z quot -- )
Image 2unless( ..a x y pred: ( ..a x y -- ..b ? ) false: ( ..b x y -- ..b x y ) -- ..b x y )
Image 2when( ..a x y pred: ( ..a x y -- ..b ? ) true: ( ..b x y -- ..b x y ) -- ..b x y )
Image 2with( param1 param2 obj quot -- obj curried )
Image 3bi( x y z p q -- )
Image 3check( ..a x y z quot: ( ..a x y z -- ..b ? ) -- ..b x y z ? )
Image 3curry( obj1 obj2 obj3 quot -- curried )
Image 3dip( x y z quot -- x y z )
Image 3guard( ..a x y z quot: ( ..a x y z -- ..b ? ) -- ..b x/f y/f z/f )
Image 3if( ..a x y z pred: ( ..a x y z -- ..b x y z ? ) true: ( ..b x y z -- ..c ) false: ( ..b x y z -- ..c ) -- ..c )
Image 3keep( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x y z )
Image 3nip( w x y z -- z )
Image 3nipd( v w x y z -- y z )
Image 3tri( x y z p q r -- )
Image 3unless( ..a x y z pred: ( ..a x y z -- ..b ? ) false: ( ..b x y z -- ..c x y z ) -- ..b x y z )
Image 3when( ..a x y z pred: ( ..a x y z -- ..b ? ) true: ( ..b x y z -- ..b x y z ) -- ..b x y x )
Image 4dip( w x y z quot -- w x y z )
Image 4keep( ..a w x y z quot: ( ..a w x y z -- ..b ) -- ..b w x y z )
Image 4nip( v w x y z -- z )
Image 4spin( w x y z -- z y x w )
Image 5drop( v w x y z -- )
Image 5nip( u v w x y z -- z )
Image =( obj1 obj2 -- ? )
Image >boolean( obj -- ? )
Image ?( ? true false -- true/false )
Image ?call( ..a obj/f quot: ( ..a obj -- ..a obj' ) -- ..a obj'/f )
Image ?if( ..a default cond: ( default -- new/f ) true: ( ..a new -- ..b ) false: ( ..a default -- ..b ) -- ..b )
Image ?transmute( old quot: ( old -- new/f ) -- new/old new? )
Image ?unless( ..a default cond: ( ..a default -- ..a new/f ) false: ( ..a default -- ..a x ) -- ..a default/x )
Image ?when( ..a default cond: ( ..a default -- ..a new/f ) true: ( ..a new -- ..a x ) -- ..a default/x )
Image and( obj1 obj2 -- obj2/f )
Image and*( obj1 obj2 -- obj1/f )
Image assert( got expect -- * )
Image assert=( a b -- )
Image bi( x p q -- )
Image bi*( x y p q -- )
Image bi-curry( x p q -- p' q' )
Image bi-curry*( x y p q -- p' q' )
Image bi-curry@( x y q -- p' q' )
Image bi@( x y quot -- )
Image both?( x y quot -- ? )
Image build( -- n )
Image clear( -- )
Image compose( quot1 quot2 -- compose )
Image curry( obj quot -- curry )
Image dip( x quot -- x )
Image do( pred body -- pred body )
Image either?( x y quot -- ? )
Image get-callstack( -- callstack )
Image get-datastack( -- array )
Image get-retainstack( -- array )
Image hashcode( obj -- code )
Image identity-hashcode( obj -- code )
Image if( ..a ? true: ( ..a -- ..b ) false: ( ..a -- ..b ) -- ..b )
Image if*( ..a ? true: ( ..a ? -- ..b ) false: ( ..a -- ..b ) -- ..b )
Image keep( ..a x quot: ( ..a x -- ..b ) -- ..b x )
Image keepd( ..a x y quot: ( ..a x y -- ..b ) -- ..b x )
Image keepdd( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x )
Image loop( ... pred: ( ... -- ... ? ) -- ... )
Image most( x y quot -- z )
Image negate( quot -- quot' )
Image nipd( x y z -- y z )
Image not( obj -- ? )
Image or( obj1 obj2 -- obj1/obj2 )
Image or*( obj1 obj2 -- obj2/obj1 )
Image or?( obj1 obj2 -- obj2/obj1 second? )
Image overd( x y z -- x y x z )
Image pickd( w x y z -- w x y w z )
Image prepose( quot1 quot2 -- composed )
Image reach( w x y z -- w x y z w )
Image roll( w x y z -- x y z w )
Image rotd( w x y z -- x y w z )
Image same?( x y quot -- ? )
Image spin( x y z -- z y x )
Image transmute( old quot: ( old -- new/f ) -- new/old )
Image tri( x p q r -- )
Image tri*( x y z p q r -- )
Image tri-curry( x p q r -- p' q' r' )
Image tri-curry*( x y z p q r -- p' q' r' )
Image tri-curry@( x y z q -- p' q' r' )
Image tri@( x y z quot -- )
Image tuck( x y -- y x y )
Image unless( ..a ? false: ( ..a -- ..a ) -- ..a )
Image unless*( ..a ? false: ( ..a -- ..a x ) -- ..a x )
Image until( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b )
Image until*( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b ? )
Image when( ..a ? true: ( ..a -- ..a ) -- ..a )
Image when*( ..a ? true: ( ..a ? -- ..a ) -- ..a )
Image while( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b )
Image while*( ..a pred: ( ..a -- ..b ? ) body: ( ..b ? -- ..a ) -- ..b )
Image with( param obj quot -- obj curried )
Image withd( param obj quot -- obj curried )
Image xor( obj1 obj2 -- obj1/obj2/f )


Class predicate words
WordStack effect
Image assert?( object -- ? )
Image boolean?( object -- ? )
Image callstack?( object -- ? )
Image composed?( object -- ? )
Image curried?( object -- ? )
Image identity-tuple?( object -- ? )
Image tuple?( object -- ? )
Image wrapper?( object -- ? )


Files


Metadata files


Children from resource:core
VocabularySummary
Image kernel.kernel-docs.factor
Image kernel.kernel.factor
Image kernel.summary.txt
Image kernel.kernel-tests.factor
Image kernel.authors.txt