General Expression Language (GEL) and GLIDE are domain-specific languages developed during an internal incubation at the United States Writing Corporation (now 6over3 institute). We've moved on from this space, and are sharing it for research purposes.
A compact expression language for constructing logical and arithmetic filters, conditions, and matching logic.
Capabilities:
- Logical operators:
and,or,not - Comparison operators:
eq,ne,lt,le,gt,ge,in,has - Field references with dot notation:
file.name,process.pid - Function calls with type-checking:
starts_with(field, "prefix") - Literal values: numbers, strings, bytes, booleans
- Set literals and range syntax:
{1..10},{"exe" "dll"} - Array/map subscript notation:
arr[0],obj[key],arr[*]
Example:
not process.name eq "cmd.exe" and file.extension in {"exe" "dll"}
Architecture:
Two-phase processing via optimized lexer (tokenization) and parser (AST construction). The parser enforces syntax correctness, performs type inference, and validates function signatures against a configurable schema.
A declarative workflow definition language with strict type enforcement and event-driven triggers.
Features:
- Linear and fork (parallel branch) execution models
- Event triggers:
file_upload,manual, etc. - Typed input/output fields:
string,integer,number,boolean,date,duration,dictionary,password,file - Reference system:
$env.*(environment),$workflow.*(event data),$stepId.*(step outputs) - Conditional execution via
whenexpressions (evaluated using GEL) - Strict validation: forward reference prevention, fork depth limits (≤3), max 100 steps, unique identifiers
Architecture:
Multi-phase validation combining valibot schema checks, reference path verification, and GEL engine integration. Enforces step ordering constraints, type safety, and prevents self-referencing or referencing undefined paths.
Technical Documentation:
https://uswriting.co/18f3cad0-8b26-41d8-b398-2d0284bafa0c/