kernel vocabulary - Factor Documentation (original) (raw)
Summary
Data and control flow, basic object protocol
Metadata
Authors: | Slava Pestov |
---|
Words
Builtin classes
![]() |
---|
![]() |
![]() |
Tuple classes
Class | Superclass | Slots |
---|---|---|
![]() |
![]() |
got expect |
![]() |
![]() |
first second |
![]() |
![]() |
obj quot |
![]() |
![]() |
Union classes
![]() |
---|
![]() |
Intersection classes
Generic words
Word | Stack effect |
---|---|
![]() |
( slots... class -- tuple ) |
![]() |
( callable -- ) |
![]() |
( obj -- cloned ) |
![]() |
( obj1 obj2 -- ? ) |
![]() |
( word -- ) |
![]() |
( depth obj -- code ) |
![]() |
( class -- tuple ) |
![]() |
( error -- * ) |
Primitives
Word | Stack effect |
---|---|
![]() |
( obj -- newobj ) |
![]() |
( x y z -- z x y ) |
![]() |
( x y -- ) |
![]() |
( x y -- x y x y ) |
![]() |
( x y z -- z ) |
![]() |
( x y z -- ) |
![]() |
( x y z -- x y z x y z ) |
![]() |
( w x y z -- ) |
![]() |
( w x y z -- w x y z w x y z ) |
![]() |
( obj -- wrapper ) |
![]() |
( callstack -- array ) |
![]() |
( -- ) |
![]() |
( x -- ) |
![]() |
( x -- x x ) |
![]() |
( x y -- x x y ) |
![]() |
( obj1 obj2 -- ? ) |
![]() |
( x y -- y ) |
![]() |
( x y -- x y x ) |
![]() |
( x y z -- x y z x ) |
![]() |
( x y z -- y z x ) |
![]() |
( x y -- y x ) |
![]() |
( x y z -- y x z ) |
Ordinary words
Word | Stack effect |
---|---|
![]() |
( w x y z -- z w x y ) |
![]() |
( w x y z -- y w x z ) |
![]() |
( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? ) |
![]() |
( ..a x quot: ( ..a x -- ..b ? ) -- ..b x/f ) |
![]() |
( ..a x pred: ( ..a x quot: ( ..a x -- ..b ? ) -- ..b x ? ) true: ( ..b x -- ..c ) false: ( ..b x -- ..c ) -- ..c ) |
![]() |
( ..a x pred: ( ..a x -- ..b ? ) false: ( ..b x -- ..b x ) -- ..b x ) |
![]() |
( ..a x pred: ( ..a x -- ..b ? ) true: ( ..b x -- ..b x ) -- ..b x ) |
![]() |
( x y p q -- ) |
![]() |
( w x y z p q -- ) |
![]() |
( w x y z quot -- ) |
![]() |
( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x y ? ) |
![]() |
( obj1 obj2 quot -- curried ) |
![]() |
( x y quot -- x y ) |
![]() |
( ..a x y quot: ( ..a x y -- ..b ? ) -- ..b x/f y/f ) |
![]() |
( ..a x y pred: ( ..a x y -- ..b x y ? ) true: ( ..b x y -- ..c ) false: ( ..b x y -- ..c ) -- ..c ) |
![]() |
( ..a x y quot: ( ..a x y -- ..b ) -- ..b x y ) |
![]() |
( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x y ) |
![]() |
( w x y z -- y z ) |
![]() |
( x y z -- x y z x y ) |
![]() |
( x y p q r -- ) |
![]() |
( u v w x y z p q r -- ) |
![]() |
( u v w x y z quot -- ) |
![]() |
( ..a x y pred: ( ..a x y -- ..b ? ) false: ( ..b x y -- ..b x y ) -- ..b x y ) |
![]() |
( ..a x y pred: ( ..a x y -- ..b ? ) true: ( ..b x y -- ..b x y ) -- ..b x y ) |
![]() |
( param1 param2 obj quot -- obj curried ) |
![]() |
( x y z p q -- ) |
![]() |
( ..a x y z quot: ( ..a x y z -- ..b ? ) -- ..b x y z ? ) |
![]() |
( obj1 obj2 obj3 quot -- curried ) |
![]() |
( x y z quot -- x y z ) |
![]() |
( ..a x y z quot: ( ..a x y z -- ..b ? ) -- ..b x/f y/f z/f ) |
![]() |
( ..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 ) |
![]() |
( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x y z ) |
![]() |
( w x y z -- z ) |
![]() |
( v w x y z -- y z ) |
![]() |
( x y z p q r -- ) |
![]() |
( ..a x y z pred: ( ..a x y z -- ..b ? ) false: ( ..b x y z -- ..c x y z ) -- ..b x y z ) |
![]() |
( ..a x y z pred: ( ..a x y z -- ..b ? ) true: ( ..b x y z -- ..b x y z ) -- ..b x y x ) |
![]() |
( w x y z quot -- w x y z ) |
![]() |
( ..a w x y z quot: ( ..a w x y z -- ..b ) -- ..b w x y z ) |
![]() |
( v w x y z -- z ) |
![]() |
( w x y z -- z y x w ) |
![]() |
( v w x y z -- ) |
![]() |
( u v w x y z -- z ) |
![]() |
( obj1 obj2 -- ? ) |
![]() |
( obj -- ? ) |
![]() |
( ? true false -- true/false ) |
![]() |
( ..a obj/f quot: ( ..a obj -- ..a obj' ) -- ..a obj'/f ) |
![]() |
( ..a default cond: ( default -- new/f ) true: ( ..a new -- ..b ) false: ( ..a default -- ..b ) -- ..b ) |
![]() |
( old quot: ( old -- new/f ) -- new/old new? ) |
![]() |
( ..a default cond: ( ..a default -- ..a new/f ) false: ( ..a default -- ..a x ) -- ..a default/x ) |
![]() |
( ..a default cond: ( ..a default -- ..a new/f ) true: ( ..a new -- ..a x ) -- ..a default/x ) |
![]() |
( obj1 obj2 -- obj2/f ) |
![]() |
( obj1 obj2 -- obj1/f ) |
![]() |
( got expect -- * ) |
![]() |
( a b -- ) |
![]() |
( x p q -- ) |
![]() |
( x y p q -- ) |
![]() |
( x p q -- p' q' ) |
![]() |
( x y p q -- p' q' ) |
![]() |
( x y q -- p' q' ) |
![]() |
( x y quot -- ) |
![]() |
( x y quot -- ? ) |
![]() |
( -- n ) |
![]() |
( -- ) |
![]() |
( quot1 quot2 -- compose ) |
![]() |
( obj quot -- curry ) |
![]() |
( x quot -- x ) |
![]() |
( pred body -- pred body ) |
![]() |
( x y quot -- ? ) |
![]() |
( -- callstack ) |
![]() |
( -- array ) |
![]() |
( -- array ) |
![]() |
( obj -- code ) |
![]() |
( obj -- code ) |
![]() |
( ..a ? true: ( ..a -- ..b ) false: ( ..a -- ..b ) -- ..b ) |
![]() |
( ..a ? true: ( ..a ? -- ..b ) false: ( ..a -- ..b ) -- ..b ) |
![]() |
( ..a x quot: ( ..a x -- ..b ) -- ..b x ) |
![]() |
( ..a x y quot: ( ..a x y -- ..b ) -- ..b x ) |
![]() |
( ..a x y z quot: ( ..a x y z -- ..b ) -- ..b x ) |
![]() |
( ... pred: ( ... -- ... ? ) -- ... ) |
![]() |
( x y quot -- z ) |
![]() |
( quot -- quot' ) |
![]() |
( x y z -- y z ) |
![]() |
( obj -- ? ) |
![]() |
( obj1 obj2 -- obj1/obj2 ) |
![]() |
( obj1 obj2 -- obj2/obj1 ) |
![]() |
( obj1 obj2 -- obj2/obj1 second? ) |
![]() |
( x y z -- x y x z ) |
![]() |
( w x y z -- w x y w z ) |
![]() |
( quot1 quot2 -- composed ) |
![]() |
( w x y z -- w x y z w ) |
![]() |
( w x y z -- x y z w ) |
![]() |
( w x y z -- x y w z ) |
![]() |
( x y quot -- ? ) |
![]() |
( x y z -- z y x ) |
![]() |
( old quot: ( old -- new/f ) -- new/old ) |
![]() |
( x p q r -- ) |
![]() |
( x y z p q r -- ) |
![]() |
( x p q r -- p' q' r' ) |
![]() |
( x y z p q r -- p' q' r' ) |
![]() |
( x y z q -- p' q' r' ) |
![]() |
( x y z quot -- ) |
![]() |
( x y -- y x y ) |
![]() |
( ..a ? false: ( ..a -- ..a ) -- ..a ) |
![]() |
( ..a ? false: ( ..a -- ..a x ) -- ..a x ) |
![]() |
( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b ) |
![]() |
( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b ? ) |
![]() |
( ..a ? true: ( ..a -- ..a ) -- ..a ) |
![]() |
( ..a ? true: ( ..a ? -- ..a ) -- ..a ) |
![]() |
( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b ) |
![]() |
( ..a pred: ( ..a -- ..b ? ) body: ( ..b ? -- ..a ) -- ..b ) |
![]() |
( param obj quot -- obj curried ) |
![]() |
( param obj quot -- obj curried ) |
![]() |
( obj1 obj2 -- obj1/obj2/f ) |
Class predicate words
Word | Stack effect |
---|---|
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
![]() |
( object -- ? ) |
Files
resource:core/kernel/kernel.factor
resource:core/kernel/kernel-docs.factor
resource:core/kernel/kernel-tests.factor
Metadata files
resource:core/kernel/authors.txt
resource:core/kernel/summary.txt