kernel ボキャブラリ
Factor ハンドブック > ボキャブラリ索引


概要
Data and control flow, basic object protocol

メタデータ
作者:Slava Pestov


ワード

ビルトインクラス
callstack
tuple
wrapper


タプルクラス
クラススーパークラススロット
assert tuplegot expect
compose tuplefirst second
curry tupleobj quot
identity-tuple tuple


union クラス
boolean
null


Intersection classes
object


総称ワード
ワードスタック効果
?execute( word -- value )
boa( ... class -- tuple )
call( callable -- )
clone( obj -- cloned )
equal?( obj1 obj2 -- ? )
execute( word -- )
hashcode*( depth obj -- code )
new( class -- tuple )
throw( error -- * )


プリミティブ
ワードスタック効果
(clone)( obj -- newobj )
-rot( x y z -- z x y )
2drop( x y -- )
2dup( x y -- x y x y )
2nip( x y z -- z )
3drop( x y z -- )
3dup( x y z -- x y z x y z )
<wrapper>( obj -- wrapper )
call-clear( quot -- )
callstack( -- cs )
callstack>array( callstack -- array )
datastack( -- ds )
die( -- )
drop( x -- )
dup( x -- x x )
dupd( x y -- x x y )
eq?( obj1 obj2 -- ? )
nip( x y -- y )
over( x y -- x y x )
pick( x y z -- x y z x )
retainstack( -- rs )
rot( x y z -- y z x )
set-callstack( cs -- )
set-datastack( ds -- )
set-retainstack( rs -- )
swap( x y -- y x )
swapd( x y z -- y x z )
tuck( x y -- y x y )


通常ワード
ワードスタック効果
-roll( x y z t -- t x y z )
2bi( x y p q -- )
2bi*( w x y z p q -- )
2bi@( w x y z quot -- )
2curry( obj1 obj2 quot -- curry )
2dip( x y quot -- x y )
2keep( x y quot -- x y )
2over( x y z -- x y z x y )
2tri( x y p q r -- )
2tri*( u v w x y z p q r -- )
2tri@( u v w y x z quot -- )
3bi( x y z p q -- )
3curry( obj1 obj2 obj3 quot -- curry )
3dip( x y z quot -- x y z )
3keep( x y z quot -- x y z )
3tri( x y z p q r -- )
4dip( w x y z quot -- w x y z )
=( obj1 obj2 -- ? )
>boolean( obj -- ? )
?( ? true false -- true/false )
?if( default cond true false -- )
and( obj1 obj2 -- ? )
assert( got expect -- * )
assert=( a b -- )
bi( x p q -- )
bi*( x y p q -- )
bi-curry( x p q -- p' q' )
bi-curry*( x y p q -- p' q' )
bi-curry@( x y q -- p' q' )
bi@( x y quot -- )
both?( x y quot -- ? )
build( -- n )
clear( -- )
compose( quot1 quot2 -- compose )
curry( obj quot -- curry )
dip( x quot -- x )
do( pred body -- pred body )
either?( x y quot -- ? )
hashcode( obj -- code )
if( ? true false -- )
if*( ? true false -- )
keep( x quot -- x )
loop( pred: ( -- ? ) -- )
most( x y quot -- z )
not( obj -- ? )
or( obj1 obj2 -- ? )
prepose( quot1 quot2 -- compose )
roll( x y z t -- y z t x )
spin( x y z -- z y x )
tri( x p q r -- )
tri*( x y z p q r -- )
tri-curry( x p q r -- p' q' r' )
tri-curry*( x y z p q r -- p' q' r' )
tri-curry@( x y z q -- p' q' r' )
tri@( x y z quot -- )
unless( ? false -- )
unless*( ? false -- )
until( pred: ( -- ? ) body: ( -- ) -- )
when( ? true -- )
when*( ? true -- )
while( pred: ( -- ? ) body: ( -- ) -- )
with( param obj quot -- obj curry )
xor( obj1 obj2 -- ? )


クラス述語ワード
ワードスタック効果
assert?( object -- ? )
boolean?( object -- ? )
callstack?( object -- ? )
compose?( object -- ? )
curry?( object -- ? )
identity-tuple?( object -- ? )
tuple?( object -- ? )
wrapper?( object -- ? )


ファイル
resource:core/kernel/kernel.factor
resource:core/kernel/kernel-docs.factor
resource:core/kernel/kernel-tests.factor



ボキャブラリ概要
kernel.privatekernel.private ボキャブラリ