Primitives and functions overview
In the following sections, each primitive or function is indicated by its name followed by the number of arguments. When used as a function, there is one argument less, which is replaced with the function return value.
The description for each primitive or function shows the possible usage of the primitive and/or function. Some can be used as a primitive in a statement, some can be used as a function in an expression, and some can be used both as a primitive and as a function.
The arguments for each primitive or function are listed in a table. For each argument, the mode is indicated as input or output. An actual input argument can be any expression. The expression is evaluated before it is passed as an argument to the primitive. For an output argument, a variable is required.
Each argument has a type. The type is the expected type of the actual value for input arguments and the resulting value type for output arguments. Whenever necessary, the compiler will insert type conversions for input arguments.
The following argument types are used:
STRING | An expression evaluating to a value of type STRING |
INTEGER | An expression evaluating to a value of type INTEGER |
REAL | An expression evaluating to a value of type REAL |
POINTER | An expression evaluating to a value of type POINTER |
ENUM | An expression evaluating to a value of an enumeration type |
OBJECT | A reference to an event or data object |
SLOTREF | A reference to a slot of an event, data, or record object |
ANY | Any simple (non-list) value |
LIST_OF T | A list of elements of type T |
An OBJECT value typically references the event on which the rule is applied, as made available through the variable associated with the event.
A SLOTREF typically references a slot of an OBJECT value (for example, $E.SlotName).