Fundamental combinators
Factor handbook » The language » Combinators

Next:Dataflow combinators


The most basic combinators are those that take either a quotation or word, and invoke it immediately. There are two sets of these fundamental combinators. They differ in whether the compiler is expected to determine the stack effect of the expression at compile time or the stack effect is declared and verified at run time.

Compile-time checked combinators
With these combinators, the compiler attempts to determine the stack effect of the expression at compile time, rejecting the program if the effect cannot be determined. See Combinator stack effects.
call ( callable -- )

execute ( word -- )


Run-time checked combinators
With these combinators, the stack effect of the expression is checked at run time.
call(

execute(


Note that the opening parenthesis is actually part of the word name for call( and execute(; they are parsing words, and they read a stack effect until the corresponding closing parenthesis. The underlying words are a bit more verbose, but they can be given non-constant stack effects:
call-effect ( quot effect -- )

execute-effect ( word effect -- )


Unchecked combinators
Unsafe combinators

See also
Stack effect declarations, Stack effect checking