Glossary
A
Algebraic Types - Ways to combine and structure data types
Annotations - Paratextual information enclosed in
[square brackets]AND - Logical conjunction operator
Asyndetic Conjunction (
...) - The semantics of implicit AND where the conjunction keyword is omitted; expressed using three-dot ellipsis syntax (see also: Ellipsis)Asyndetic Disjunction (
..) - The semantics of implicit OR where the disjunction keyword is omitted; expressed using two-dot ellipsis syntaxASSUME - Declares a variable with a specific type
AT - Temporal operator for specifying time points
AT LEAST - Operator for minimum quantity conditions
>=AT MOST - Operator for maximum quantity conditions
<=
B
Basic Data Types - Core data types including booleans, strings, numbers, and records
Booleans - Basic true/false values represented as
TRUEandFALSEBoolean Logic - Logical operators and conditional logic
BY - Specifies the method or means of an action
C
CHARAT - String function to get character at index (STRING → NUMBER → STRING)
Comments - Single-line comments
--or block comments{- ... -}Conditional Logic - IF/THEN/ELSE structures
CONSIDER - Pattern matching operator for type matching
CONTAINS - String operator to check if string contains substring (STRING → STRING → BOOLEAN)
DECIDE - Keyword for defining decision functions
DIVIDED BY - Division operator for numbers
÷
D
Days and Dates - Library with functions for day and date math
Default Logic - Predefined values and their handling
Default Reasoning - Logic for handling unspecified cases
DECLARE - Keyword for defining new types
Deontic Logic - Logic of obligation and permission
Ditto Syntax - Using
^to reference the word above in the same columnDO - Action operator in regulative rules
DOES - Alternative form of DO for actions
E
EITHER - Algebraic data type for representing two possible types (LEFT/RIGHT)
Ellipsis (
.../..) - The syntax for asyndetic operations: three dots (...) for AND, two dots (..) for OR; see Asyndetic Conjunction and Asyndetic DisjunctionELSE - Alternative branch in conditional logic
ENDSWITH - String operator to check if string ends with suffix (STRING → STRING → BOOLEAN)
EQUALS - Equality comparison operator
EXACTLY - Operator for exact matching conditions
EXPONENT - Exponentiation operator for numbers (base to the power of exponent)
#EVAL - Directive for evaluating expressions inline
F
FALSE - Boolean false value
FOLLOWED - Temporal operator for sequence
FOR - Specifies purpose or target
FROM - Specifies source or origin
Functions - Core building blocks for reusable code
FULFILLED - State indicating successful completion
G
GIVEN - Keyword for declaring function parameters
GIVETH - Keyword for specifying return type
GREATER THAN - Greater than comparison operator
H
I
Identifiers - Space-separated words enclosed in backticks
IF - Conditional operator
IMPLIES - Logical implication operator
Inert Elements - String literals in boolean context that serve as grammatical scaffolding (TRUE in AND, FALSE in OR)
IMPORT - Keyword for importing external definitions
INDEXOF - String operator to find index of substring (STRING → STRING → NUMBER)
IS - Type assertion operator
L
LESS THAN - Less than comparison operator
<LIST - Collection type for ordered elements
LEST - Alternative consequence operator
Logical Operators - AND, OR, NOT operations
M
MAYBE - Algebraic data type for representing optional values (JUST/NOTHING)
MEANS - Assignment operator for definitions
MINUS - Subtraction operator
-MODULO - Modulo operator for numbers
%Math Library - Optional helpers such as
EULER,exp,ln, andlog10MUST - Obligation operator in regulative rules
Multitemporal Logic - Handling time-based logic and constraints
N
NOT - Logical negation operator
NOTHING - Represents absence of value
Numbers - Numeric values (no distinction between integers and floats)
@nlg - Natural Language Generation annotation
O
OF - Type composition operator
ONE - Enumeration operator
OR - Logical disjunction operator
OTHERWISE - Alternative branch in conditional logic
P
PARTY - Specifies actor in regulative rules
PLUS - Addition operator
+PROVIDED - Alternative to IF for preconditions
R
RAND - Random AND operator
REPLACE - String function to replace all occurrences (STRING → STRING → STRING → STRING)
ROR - Random OR operator
Records - Composite data types that group related data together
References - Citations using
@symbol@ref - Reference annotation
@ref-map - Reference mapping annotation
@ref-src - Reference source annotation
Regulative Rules - Rules governing behavior and constraints
Return Values - Output values from functions
S
#SEVAL - Directive for evaluating expressions in sections
Shall Statements - Mandatory requirements and obligations
SPLIT - String operator to split by delimiter (STRING → STRING → LIST OF STRING)
SQRT - Square root function for numbers
STARTSWITH - String operator to check if string starts with prefix (STRING → STRING → BOOLEAN)
STARTING - Temporal operator for beginning
STRING LENGTH - String function to get length (STRING → NUMBER)
Strings - Text values enclosed in double quotes
SUBSTRING - String function to extract substring (STRING → NUMBER → NUMBER → STRING)
T
TBD - Placeholder for future implementation
THE - Article in type definitions
THEN - Consequence operator in conditional logic
Time-based Rules - Rules that change over time
TIMES - Multiplication operator
*TO - Destination or target operator
TO LOWER - String function to convert to lowercase (STRING → STRING)
TO UPPER - String function to convert to uppercase (STRING → STRING)
TRIM - String function to remove leading and trailing whitespace (STRING → STRING)
TRUE - Boolean true value
Types - Ways to combine and structure data types
#TRACE - Directive for tracing execution
W
WHEN - Pattern matching operator
WHERE - Local definition scope
WITH - Record construction operator
WITHIN - Temporal operator for duration
Y
YIELD - Return value operator
Last updated
