Logic
Boolean operations and loop handling.
This always returns true.
In a repeating loop, exit the loop;
or, in a rule, stop processing rules.
In a repeating loop, try the next iteration of the loop;
or, in a rule, continue to the next rule.
Run a set of statements after a condition has failed.
One or more statements to run.
Select a block of statements to run based on a true/false check.
The condition to test.
A set of local variables available while testing the condition and while running the do/else statements. These are initialized before testing the condition.
Statements which run when the condition succeeded.
An optional set of statements to evaluate when the condition failed.
Check that every condition in a set of conditions returns true.
Stops after finding a failed condition.
An empty list returns false.
One or more conditions to check for success.
Check whether any condition in a set of conditions returns true.
Stops after finding the first successful condition.
An empty list returns false.
One or more conditions to check for success.
Determine the "truthiness" of a value.
Bool values simply return their value.
Num values: are true when not exactly zero.
Text values: are true whenever they contain content.
List values: are true whenever the list is non-empty.
( note this is similar to python, and different than javascript. )
Record values: are true whenever they have been initialized.
( only sub-records start uninitialized; record variables are always true. )
The value to test.
This always returns false.
Determine the opposite of a condition.
The condition to check.
Check that every condition in a set of conditions returns false.
Stops after finding any successful condition.
An empty list returns false.
One or more conditions to check for failure.
Check whether any condition in a set of conditions returns false.
Stops after finding any failed condition.
An empty list returns false.
One or more conditions to check for failure.
Determine the "falsiness" of a value.
This is the opposite of [TrueValue].
The value to test.
Pick one of two possible text values based on a condition.
( This acts similar to a ternary. )
The condition to test.
A set of local variables available while testing the condition and while running the do/else statements. These are initialized before testing the condition.
The number to use if the condition succeeds.
( The eval is only processed if the condition succeeded. )
The number to use if the condition fails.
( The eval is only processed if the condition failed. )
Keep running a series of actions while a condition succeeds.
The condition to check before running the loop.
If it succeeds, execute the loop;
if it fails, stop executing the loop.
A set of variables available to the loop;
evaluated just once, before the loop's first run.
A set of variables available to the loop;
evaluated before each iteration of the loop.
( These take precedence over the initial variables.
If the same names appear in both sets of variables, the ones here win. )
The statements to execute every loop.
Pick one of two possible text values based on a condition.
( This acts similar to a ternary. )
The condition to test.
A set of local variables available while testing the condition and while running the do/else statements. These are initialized before testing the condition.
The text to use if the condition succeeds.
( The eval is only processed if the condition succeeded. )
The text to use if the condition fails.
( The eval is only processed if the condition failed. )
Definitions:
Slots:
Commands:
Commands
Slots:
Terms:
None.
Slots:
Terms:
None.
Slots:
Terms:
None.
Slots:
Terms:
do:
Execute
repeats
Slots:
Terms:
If:
BoolEval
assuming:
optional
Arg
repeats
do:
Execute
repeats
else:
optional
Brancher
Slots:
Terms:
all:
BoolEval
repeats
Slots:
Terms:
any:
BoolEval
repeats
Slots:
Terms:
value:
Assignment
Slots:
Terms:
None.
Slots:
Terms:
Not:
BoolEval
Slots:
Terms:
all:
BoolEval
repeats
Slots:
Terms:
any:
BoolEval
repeats
Slots:
Terms:
value:
Assignment
Slots:
Terms:
if:
BoolEval
assuming:
optional
Arg
repeats
then:
NumEval
else:
optional
NumEval
Slots:
Terms:
if:
BoolEval
initially:
optional
Arg
repeats
assuming:
optional
Arg
repeats
do:
Execute
repeats
Slots:
Terms:
if:
BoolEval
assuming:
optional
Arg
repeats
then:
TextEval
else:
optional
TextEval