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 syntax

  • ASSUME - 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 TRUE and FALSE

  • Boolean 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

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 Disjunction

  • ELSE - 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

  • HAS - Keyword for defining record fields

  • HENCE - Consequence operator in regulative rules

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

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 Libraryarrow-up-right - Optional helpers such as EULER, exp, ln, and log10

  • MUST - 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