uif (condition trueCallable falseCallable -- branchResult)condition: Known Cond that selects the branch.trueCallable: Already-selected Block processed inline when condition is true.falseCallable: Already-selected Block processed inline when condition is false.branchResult: Result produced by the selected inline branch.uif selects between two already-selected Block branches by one known Cond value.
The selected branch is processed inline in the current scope. Locals created there remain available afterward.
Only the selected branch is processed. The unselected branch is ignored completely, may be invalid, and no branch-output merge occurs.
condition must be a known Cond value.Block values already on the data stack.condition, trueCallable, and falseCallable on the data stack.condition, trueCallable, and falseCallable are removed from the stack. The selected branch sees only the remaining underlying data stack.TRUE selects trueCallable. FALSE selects falseCallable.{} 0 {} [
TRUE [
7 "chosenTrue" def
"-- true branch --" printCompilerMessage
] [
impossibleName
] uif
FALSE [
impossibleOtherName
] [
8 "chosenFalse" def
"-- false branch --" printCompilerMessage
] uif
"-- after uif --" printCompilerMessage
chosenTrue printStack _:;
chosenFalse printStack _:;
"-- no branch merge --" printCompilerMessage
TRUE [1] [FALSE] uif printStack _:;
0
] "main" exportFunction
-- true branch --
-- false branch --
-- after uif --
7 Cref
8 Cref
-- no branch merge --
1
call builtin (callable -- calledResult) Calls an already-selected Block, Code, callable Dict, or known Text through a call boundary. No selection happens inside the builtin.if builtin (condition trueCallable falseCallable -- branchResult) Selects between two already-selected Block branches by Cond. Unknown conditions require both branches to be compiled and merged.loop builtin (callable -- loopState) Repeatedly calls one already-selected Block through a call boundary. Its stack effect must be (A -- A Cond).ucall builtin (callable -- inlineResult) Processes an already-selected Block or known Text inline in the current scope.